PHP,基于另一个键/值对获取键值?

时间:2019-11-01 09:36:27

标签: php key

如何以EndDate = 2019-05-31为例进行搜索并获取相应的ID值?

{
    "Data": [{
        "Id": "xxx",
        "StartDate": "2017-06-01",
        "EndDate": "2018-05-31"
    }, {
        "Id": "af7fb21b-3477-4d87-a0dc-3780ef2b39dd",
        "StartDate": "2018-06-01",
        "EndDate": "2019-05-31"
    }]
}

3 个答案:

答案 0 :(得分:1)

使用array_column创建带有“ EndDate” =>“ Id”对的数组。然后,如果您的密钥存在,则可以直接访问您的ID。

<?php
$arrayKeyValue = array_column($array['Data'],'Id','EndDate');

echo $arrayKeyValue["2019-05-31"]; 
//af7fb21b-3477-4d87-a0dc-3780ef2b39dd

答案 1 :(得分:0)

  • 首先,使用array_column过滤EndDate值。
  • 第二,您可以使用array_search来获取索引。
  • 第三,在原始数组中使用此索引并访问Id键。

代码:

<?php

$index = array_search('2019-05-31',array_column($data['Data'],'EndDate'));

echo $data['Data'][$index]['Id'];

演示: https://3v4l.org/b4aAA

答案 2 :(得分:0)

这是不使用特殊数组方法的基本方法。

adapt_header_1 = 0x7 
adapt_header_2 = 0x10
adapt_header_3 = 0x1f45db5e4df


adapt_header = 0x0
adapt_header = adapt_header | (adapt_header_1 << (48 + 8))
adapt_header = adapt_header | (adapt_header_2 << (48))
adapt_header = adapt_header | (adapt_header_3 << (9 + 6)) 

print(hex(adapt_header))