我使用簡單的PHP未設置()函數來清除和數組的索引,但它示出了錯誤解析錯誤:語法錯誤,意想不到的「取消設置」(T_UNSET)
Parse error: syntax error, unexpected 'unset' (T_UNSET)
錯誤。這裏是syntex
echo $totalArray = unset($linkExtHelp[0]);
在此先感謝。
我使用簡單的PHP未設置()函數來清除和數組的索引,但它示出了錯誤解析錯誤:語法錯誤,意想不到的「取消設置」(T_UNSET)
Parse error: syntax error, unexpected 'unset' (T_UNSET)
錯誤。這裏是syntex
echo $totalArray = unset($linkExtHelp[0]);
在此先感謝。
試試這個,原因unset($linkExtHelp[0])
分配給變量echo $totalArray =
您不能unset()
值賦給變量,你可以使用未設置之前和之後取消設置爲如下面檢查。換句話說,unset
沒有任何返回值,因爲unset
是無效的。無效 - 不向調用者提供結果值。語法
:代替無效復位(混合是$ var [,混合$ ...])
echo "Before unset:",$linkExtHelp[0];
unset($linkExtHelp[0]);
echo "After unset:",$linkExtHelp[0];
echo $totalArray = unset($linkExtHelp[0]);
unset
沒有返回值 - 它不能即使這樣的產品被接受,也可以用作有意義的表達。
然而,解析錯誤是因爲unset
is a keyword和一個「特殊的生產」造成的:儘管unset
看起來像一個功能,它是不是功能。因此,unset
僅作爲聲明 每個語言語法有效。
生產可以在zend_language_parser.y找到:
309 unticked_statement:
| ..
338 | T_UNSET '(' unset_variables ')' ';'
的語法是由於歷史的設計選擇,可以說是從一個一致性視點一個錯誤:
Note: Because [unset] is a language construct and not a function, it cannot be called using variable functions.
還有「(未定型)鑄造」,但我在這裏忽略了這一點。
您不能分配「未設置」。這是我的方式。 你需要做一個臨時數組。
$totalArray = $linkExtHelp; // assign it to a new array (so you can keep the original one)
foreach ($totalArray as $key => $value) {
unset($totalArray [$key]['save_day']); // if you need to remove all of 'save_day' value from multi array
}
var_dump($totalArray); // after unset
var_dump($linkExtHelp); // the original array
//echo $totalArray = unset($linkExtHelp[0]); // This is wrong. no echo
我希望它有幫助。
Nit:'unset' *不是函數。 A * real * [void]函數會導致不同的錯誤。 – user2864740