var_export具有相同名称的多个变量

时间:2019-05-22 00:58:56

标签: php

如果有这个,请简化:

<?php 
$image='henry.jpg'; 
$name='henry'; 
echo '<img src="'.$image.'"/><p>'.$name.'</p>; 
?>

Some other code

<?php 
$image='walter.jpg'; 
$name='walter'; 
echo '<img src="'.$image.'"/><p>'.$name.'</p>; 
?>

我想将$image$name转换为一个关联数组。使用$arr = compact('image', 'name');var_export只能为沃尔特创建一个数组

array ( 'image' => 'walter.jpg', 'name' => 'walter', )

所需的输出应为

array ( 'image' => 'henry.jpg', 'name' => 'henry', 'image' => 'walter.jpg', 'name' => 'walter', )

我如何实现这一目标?我尝试过foreach,但它只重复walter

1 个答案:

答案 0 :(得分:1)

您无法获得所需的确切结果,因为这将需要具有多个相同键的数组。但是,您可以通过稍微更改代码来生成数组数组:

$image='henry.jpg'; 
$name='henry'; 
$arr[] = compact('image', 'name');

$image='walter.jpg'; 
$name='walter'; 
$arr[] = compact('image', 'name');

print_r($arr);

输出:

Array (
  [0] => Array (
     [image] => henry.jpg
     [name] => henry
  )
  [1] => Array (
     [image] => walter.jpg
     [name] => walter
  ) 
)

Demo on 3v4l.org