理解foreach循环中的变量赋值


Understanding variable assignment in a foreach loop

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

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

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

我了解基本知识,但=>$p不清楚

foreach循环中,您可以要求返回的密钥和值

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

因此环路将输出

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

此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";

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

读取此

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