【问题标题】:Extract a string from an object inside an array: PHP [duplicate]从数组内的对象中提取字符串:PHP [重复]
【发布时间】:2017-04-18 16:24:21
【问题描述】:

我正在编写一个 PHP 插件,需要从数组内的对象中提取字符串。

var_dump($data)

输出:

array(1) { 
    [0]=> object(stdClass)#380 (53) { 
        ["id"]=> string(1) "2" 
        ["firstname"]=> string(6) "John" 
        ["lastname"]=> string(6) "Doe" 
        ["email"]=> string(31) "johndoe@email.com" 
    } 
} 

我想回来:

johndoe@mail.com

我的研究发现了诸如 unserialize、array_map、array_slice 和 array_column 之类的函数,但我还没有找到正确的函数或可以一起工作的函数组合(我对它们的理解也不够)只返回一个简单的字符串从数组中的一个对象。谁能给我一些指导?

编辑:这与引用为“完全相同的问题”的问题不同。另一个简单地询问如何访问数组(答案:$array[0]),而我的问题是如何访问数组内部的对象(答案:$array[0]->text)。

【问题讨论】:

  • 只是回显$data[0]->email
  • 编程按组合工作。如果您知道如何访问数组元素,并且知道如何访问对象属性,只需将它们放在一起即可访问数组元素的属性。
  • 我真的不明白这个问题。是动态的吗,比如数组结构或对象键名?

标签: php arrays string object


【解决方案1】:

例如:

$data[0]->firstname

也许:

$arr = get_object_vars($data[0]);
$arr['firstname'];

例子:

$obj = (object) array('x' => 'foo');
$arr = [$obj];

print($arr[0]->x);

你会得到:foo

【讨论】:

    猜你喜欢
    • 2020-04-22
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多