开发者

php loop array assignment

I have an array that looks like the one below. I would like to iterate over a loop and assign to 3 different variables the corresponding strings. so for instance:

开发者_如何转开发Output:

$mike = 'foo - ';
$john = 'bar foo foo - bar foo foo - bar foo bar - '
$bob =  'bar foo bar bar foo - bar foo - '

What would be a short(est) way of doing this? thanks

Initial array

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 - 
        )
)


This is a case for variables variables:

foreach ($array as $key => $values) {
   $$key = implode($values);
}

However, you may not really need them. I would use an array instead:

$result = array();
foreach ($array as $key => $values) {
   $result[$key] = implode($values);
}

So you'd get:

Array
(
    [mike] => foo -
    [john] => bar foo foo - bar foo foo - bar foo bar - 
    [bob] => bar foo bar - bar foo - bar foo - 
)


use extract() and implode()

$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);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜