Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择PHP数组中的某些数据_Php - Fatal编程技术网

选择PHP数组中的某些数据

选择PHP数组中的某些数据,php,Php,当使用这行代码var_dump($ticket->find())时,我得到以下输出如何在所有对象中仅访问标识符 我尝试了var\u dump($ticket->find()->identifier)但返回null array (size=2) 0 => object(stdClass)[9] public 'tid' => string '1' (length=1) public 'uid' => string '22' (length=2

当使用这行代码
var_dump($ticket->find())时,我得到以下输出如何在所有对象中仅访问标识符

我尝试了
var\u dump($ticket->find()->identifier)但返回null

array (size=2)
  0 => 
    object(stdClass)[9]
      public 'tid' => string '1' (length=1)
      public 'uid' => string '22' (length=2)
      public 'subject' => string 'iPhone 8' (length=8)
      public 'issue' => string 'iPhone 8 screen replacement' (length=27)
      public 'device' => string 'iPhone 8' (length=8)
      public 'created' => string '2017-05-25 00:01:11' (length=19)
      public 'identifier' => string '29cd54bf' (length=8)
      public 'status' => string 'New' (length=3)
      public 'tech' => string 'None' (length=4)
  1 => 
    object(stdClass)[11]
      public 'tid' => string '2' (length=1)
      public 'uid' => string '22' (length=2)
      public 'subject' => string 'iPhone 7' (length=8)
      public 'issue' => string 'iPhone 7 screen replacement' (length=27)
      public 'device' => string 'iPhone 7' (length=8)
      public 'created' => string '2017-05-25 00:27:42' (length=19)
      public 'identifier' => string 'b47f2c82' (length=8)
      public 'status' => string 'New' (length=3)
      public 'tech' => string 'None' (length=4)
您可以使用从
find
返回的
数组中的每个项目中选择所需的属性:

$filteredFields = array_map(function ($item) {
    // Return whatever properties you want here:

    return [$item->tid, $item->$uid, $item->issue];
}, $ticket->find());
$filteredFields
将是
数组的
数组

array(2) {
    [0]=> array(3) {
        [0]=> string(1) "1"
        [1]=> string(2) "22"
        [2]=> string(8) "iPhone 7"
    }
    [1]=> array(3) {
        [0]=> string(1) "2"
        [1]=> string(2) "22"
        [2]=> string(8) "iPhone 7"
    }
}
如果您只需要其中一个属性,则可能更易于使用:

这将返回如下内容:

array(2) {
    [0]=> string(8) "iPhone 8"
    [1]=> string(8) "iPhone 7"
}
您还可以获得一个关联数组,该数组指示使用第三个参数作为键的字段:

$subjectsByTid = array_column($ticket->find(), "subject", "tid");
这将返回:

array(2) {
    ["1"]=> string(8) "iPhone 8"
    ["2"]=> string(8) "iPhone 7"
}

$ticket->find()[0]->标识符
$ticket->find()[1]->标识符
。您可以在
$ticket->find()[i]->标识符上使用循环。我应该想得更仔细一点。谢谢。
find()
方法来自哪里?如果您使用的是框架,可能有一种更直接的方法来实现您的目标。如果不是,如果您使用的是PHP7,
array\u column
可以获得这些值。当I
var\u dump
数组映射时,它不会返回任何内容。当我需要返回表中的所有票证时,这肯定是一个更有用的方法。@TrentonTyler当您调用
数组\u map
时,您提供的函数将为您传入的数组中的每个项目调用,
$ticket->find()返回的函数以及您从该函数返回的值,在本例中,它是另一个
数组
,将作为结果添加到要返回的
数组
。如果这不起作用,我建议检查您试图获取的参数是否可访问。
array(2) {
    ["1"]=> string(8) "iPhone 8"
    ["2"]=> string(8) "iPhone 7"
}