理解foreach循环中的变量赋值

时间:2013-12-07 23:25:39

标签: php arrays object foreach

我有一个非常基本的问题:

这句话实际上是做什么的(特别是=>$p)?

foreach ($email->parts as $partno=>$p) {

我理解基础但=>$p不清楚

3 个答案:

答案 0 :(得分:2)

foreach循环中,您可以要求返回键和值

$array = array('cat' => 'Tom', 'mouse' => 'Jerry');
foreach($array as $animal => $name) {
    echo $name . ' is a ' . $animal . '<br>';
}

因此循环将输出

  汤姆是一只猫   杰瑞是一只老鼠

答案 1 :(得分:1)

这个synthax是将数组键名或对象属性名分配给变量$partno,它的值是$p

这样您可以执行$email->parts[$partno] = $p;

如果您的并行数组具有由键绑定的不同信息,则此功能特别有用,因此您需要此信息在迭代其中一个数据时从其他数组中获取相关数据。

例如:

$person = array(
    1 => 'Santa Claus',
    2 => 'Homer Simpson',
    3 => 'Papa Smurf'
);

$location = array(
    1 => 'North Pole',
    2 => 'Springfield',
    3 => 'Smurf village'
);

foreach ($person as $id => $name)
    echo "$name live in {$location[$id]}\n";

答案 2 :(得分:0)

$ partno是关键,$ p是值 例如$email->parts = array("key" => "value");

阅读本文

http://www.php.net/manual/en/control-structures.foreach.php