我有一个类似下面的数组。我想迭代一个循环并为3个不同的变量分配相应的字符串。例如:
输出:
$mike = 'foo - ';
$john = 'bar foo foo - bar foo foo - bar foo bar - '
$bob = 'bar foo bar bar foo - bar foo - '
这样做的简短(est)方法是什么?感谢
初始数组
Array
(
[mike] => Array
(
[0] => foo -
)
[john] => Array
(
[0] => bar foo foo -
[1] => bar foo foo -
[2] => bar foo bar -
)
[bob] => Array
(
[0] => bar foo bar -
[1] => bar foo -
[2] => bar foo -
)
)
答案 0 :(得分:5)
这是variables variables的一个案例:
foreach ($array as $key => $values) {
$$key = implode($values);
}
但是,你可能并不真的需要它们。我会改用数组:
$result = array();
foreach ($array as $key => $values) {
$result[$key] = implode($values);
}
所以你得到:
Array
(
[mike] => foo -
[john] => bar foo foo - bar foo foo - bar foo bar -
[bob] => bar foo bar - bar foo - bar foo -
)
答案 1 :(得分:1)
$a = array( 'mike' => array('foo -'),
'john' => array('bar foo foo - ',
'bar foo foo - ',
'bar foo bar - '
),
'bob' => array('bar foo bar - ',
'bar foo - ',
'bar foo - '
)
);
foreach($a as $k => $v) {
$a[$k] = implode(' ',$v);
}
extract($a);
var_dump($mike);
var_dump($john);
var_dump($bob);