Can';不要更改php列表中的值
我有以下php循环,它接受一个包含一组数组的数组。我使用这段代码将每个数组转换为一个列表,以便更好地操作元素 这是我的密码Can';不要更改php列表中的值,php,arrays,list,Php,Arrays,List,我有以下php循环,它接受一个包含一组数组的数组。我使用这段代码将每个数组转换为一个列表,以便更好地操作元素 这是我的密码 while ($i<sizeof($my_array)){ while(list($key,$val) = each($my_array[$i])){ $j = $i+1; if ($key == "fruit"){ $val = "ananas".$j; echo $val;
while ($i<sizeof($my_array)){
while(list($key,$val) = each($my_array[$i])){
$j = $i+1;
if ($key == "fruit"){
$val = "ananas".$j;
echo $val;
}
}
$i++;
}
while($i使用foreach
参考:
$i = 0;
foreach ( $my_array as $key => &$val ) {
++$i;
if ($key == "fruit"){
$val = "ananas" . $i;
echo $val;
}
}
使用foreach的
$i = 0;
foreach ( $my_array as $key => &$val ) {
++$i;
if ($key == "fruit"){
$val = "ananas" . $i;
echo $val;
}
}
$val是$my_数组[$i]中包含的数据的副本,而不是实际数据。要更改数组中的数据,请执行以下操作:
while ($i<sizeof($my_array)){
while(list($key,$val) = each($my_array[$i])){
$j = $i+1;
if ($key == "fruit"){
$my_array[$i][$key] = "ananas";
echo $my_array[$i][$key];
}
}
$i++;
}
而($i$val是$my_数组[$i]中包含的数据的副本,而不是实际数据。要更改数组中的数据,请执行以下操作:
while ($i<sizeof($my_array)){
while(list($key,$val) = each($my_array[$i])){
$j = $i+1;
if ($key == "fruit"){
$my_array[$i][$key] = "ananas";
echo $my_array[$i][$key];
}
}
$i++;
}
while($ieach()
不会将数据作为引用传递,而不会对循环进行太多修改:
if ($key == "fruit"){
$val = "ananas";
echo $val;
$my_array[$i][$key] = $val;
}
当然,有更好的方法可以做到这一点。但是您想要的答案不会改变循环结构。each()
不会将数据作为引用传递,而不会对循环进行太多修改:
if ($key == "fruit"){
$val = "ananas";
echo $val;
$my_array[$i][$key] = $val;
}
当然,有更好的方法可以做到这一点,但是你想要的答案是不会改变循环结构的