[英]php iterate over an array made up of strings, instead of objects
我需要遍歷由字符串而不是對象組成的數組。 我已經嘗試過尋找和實現其他 stackoverflow 答案,但似乎無法完成這項工作。
數組:
var_dump(`$myids`);
array(3) {
[0]=>
string(2) "45"
[1]=>
string(2) "46"
[2]=>
string(2) "47"
}
我試過了:
$myids=$_POST['myids'];
foreach ($myids as $value){
$value['myids'];
}
給出錯誤 - Illegal string offset 'myids'
。
然后我嘗試了:
$myids=$_POST['myids'];
foreach ($myids as $value){
$value->myids;
}
給出錯誤- Trying to access proprieties of a non object
。
所以我想也許可以將密鑰添加到foreach
中,但這不是解決方案。 冒着聽起來很愚蠢的風險,訪問數組的每個值的解決方案是什么?
好吧,數組中沒有“myids”鍵。 您使用的是純數字 ID,因此您的數組中不會命名任何鍵。
$myids=$_POST['myids'];
foreach ($myids as $value){
echo $value;
}
這是將每行 $myids 展開為 $value。 一旦展開並進入循環,您不應嘗試訪問 $myids,而應僅使用 $value,它僅代表當前行。
在第一次迭代中,$value 將包含: string(2) "45"
在第二次迭代中,$value 將包含: string(2) "46"
第三次迭代: string(2) "47"
如您所見,$value 只包含字符串值,因此沒有 arrays 或可在其中訪問的鍵。 它在循環的每次迭代中拉出一行並將其直接插入到 $value 中。 因此,您只需要直接回顯 $value 即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.