检查数据是否在 PHP 中的数组中

Check if data is in array in PHP

使用 Codeigniter 3 我需要比较两个 json 对象。 为了更好地解释,在我必须检查的 json 数据下方:

[
    {
        "id":23456,
        "name":"Some data"
    },
    {
        "id":98765,
        "name":"Other data"
    },
    {
        "id":12345,
        "name":"A glider"
    },
    {
        "id":34567,
        "name":"Other aircraft"
    }
]

我需要将以上数据与下面的json对象进行比较。

[
    {
        "id":23456,
        "name":"Some data",
        "available": 0,
    },
    {
        "id":98765,
        "name":"Other data",
        "available": 1,
    },
    {
        "id":12345,
        "name":"A glider",
        "available": 0,
    },
    {
        "id":34567,
        "name":"Other aircraft",
        "available": 0,
    },
    {
        "id":56789,
        "name":"Dummy aircraft",
        "available": 0,
    },
]

我必须 select 来自第一个 json 对象的数据,在第二个对象中比较“可用”字段等于 1。

希望编辑我的问题,我希望现在已经清楚了。 我为我糟糕的英语道歉。

试试这个:

$data = json_decode('[
    {
        "id":23456,
        "name":"Some data"
    },
    {
        "id":98765,
        "name":"Other data"
    },
    {
        "id":12345,
        "name":"A glider"
    },
    {
        "id":34567,
        "name":"Other aircraft"
    }
]');
for ($i = 0; $i < count($data); $i++) {
     if (property_exists($data[$i], 'id') && property_exists($data[$i], 'name')){
         $data[$i]->available = 1 ;
     }else{
         $data[$i]->available = 0;
     }
}
var_dump($data);