簡體   English   中英

php 迭代由字符串而不是對象組成的數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM