PHP从stdClass对象中回显最内层数组中的所有值

时间:2018-01-13 07:35:56

标签: php

如何从作为stdClass对象的变量中获取(回显/打印)所有用户名值?下面是我从var_dump得到的这个变量的结构。谢谢!

object(stdClass)[4]
public 'rows' => 
array (size=7)
      0 => 
    array (size=3)
      'id' => string '1' (length=1)
      'username' => string 'Justin' (length=6)
      'password' => string '123' (length=3)
  1 => 
    array (size=3)
      'id' => string '2' (length=1)
      'username' => string 'Papino' (length=6)
      'password' => string '456' (length=3)
  2 => 
    array (size=3)
      'id' => string '3' (length=1)
      'username' => string 'Sophia' (length=6)
      'password' => string '789' (length=3)
  3 => 
    array (size=3)
      'id' => string '4' (length=1)
      'username' => string 'something' (length=3)
      'password' => string '1234' (length=4)

2 个答案:

答案 0 :(得分:1)

使用StdClass对象名称尝试以下代码段更改$object

$userNames = [];
foreach($object->rows as $item){
  $userNames []  = $item['username'];
}

var_dump($userNames);

评论后更新 单凭var_dump无法做到这一点,你应该做一些工作来获得它。

在我的项目中,我总是使用Krumo代替print_rvar_dump

$userNames = [];
foreach($object->rows as $item){
  echo  $item['username'].PHP_EOL;
}

答案 1 :(得分:1)

使用array_map来获取像这样的用户名数组:

array_map(function($row) {
    echo $row['username'];
}, $object->rows);

// $usernames = ['Papino', 'Sophia', ..]