我想取消設置二維數組的字段。我有這樣的功能,但它不工作:爲什麼我不能取消設置數組值(PHP)
function excludeOldScreeningDate($array){
foreach($array as $val){
if($val['ref'] == 'G'){
unset($val['screening_date']);
}
}
return $array;
}
我想取消設置二維數組的字段。我有這樣的功能,但它不工作:爲什麼我不能取消設置數組值(PHP)
function excludeOldScreeningDate($array){
foreach($array as $val){
if($val['ref'] == 'G'){
unset($val['screening_date']);
}
}
return $array;
}
你應該通過引用傳遞數組的元素:
function excludeOldScreeningDate($array){
foreach($array as &$val){
if($val['ref'] == 'G'){
unset($val['screening_date']);
}
}
return $array;
}
通知的foreach($array as &$val){
線已經改變。
因爲你只解封臨時變量$ VAL
function excludeOldScreeningDate($array){
foreach($array as $index => $val){
if($val['ref'] == 'G'){
unset($array[$index]['screening_date']);
}
}
return $array;
如果你想在陣列中編輯值,你可以通過引用讀取每個數組元素。將&
放在$val
的前面foreach
。
function excludeOldScreeningDate($array){
foreach($array as &$val){
if($val['ref'] == 'G'){
unset($val['screening_date']);
}
}
return $array;
}
它爲什麼不起作用?你期望輸出什麼?你得到了什麼輸出? – 2011-09-09 21:15:41
@JackManey:因爲他沒有設置臨時變量$ val – genesis