php检查关联数组中是否存在值

时间:2017-07-02 12:22:21

标签: php arrays

我有以下数组:

$import_emails = [];

$import_emails[]=[
    'to'=>$to,
    'from'=>$from,
     'cc'=>$cc,
     'subject'=>$subject,
    'text'=>$text,
    'date'=> date('Y-m-d H:i:s',strtotime($date))
];

示例数组数据:

Array
     (
    [0] => Array
    (
        [to] => nastya.gorobets95@gmail.com
        [from] => babboe1 babboe1 <test.babboe1@gmail.com>
        [cc] => 
        [subject] => Test Subject
        [text] => Test content.
        Please, write me later
        Thanks!

        [date] => 2017-06-29 18:04:53
    )

[1] => Array
    (
        [to] => Anastasia Gorobets <nastya.gorobets95@gmail.com>
        [from] => babboe1 babboe1 <test.babboe1@gmail.com>
        [cc] => babboesignal@edu-crm.com
        [subject] => Tema
        [text] => Bla bla bla
         Test email! :)

        [date] => 2017-07-02 11:55:50
    )

 )

如何检查数值项目['to']中是否存在值,例如'nastya'? 也许有一些功能呢?谢谢!

3 个答案:

答案 0 :(得分:2)

有时我会使用array_column将关联数组转换为平面数组。然后检查它是否存在。

$dataSubjectsValue = array_column($data, 'subject');
if (in_array('Test Subject', $dataSubjectsValue) {
  // ...do_stuff
}

我认为这比使用foreach循环更具可读性。您还可以使用array_map做类似的事情。

答案 1 :(得分:1)

你需要预先安排你的阵列。

foreach ($import_emails as $key => $value) {

$to = $value['to'];

if($to == "nastya") {
echo 'Found!';
break;
}

}

答案 2 :(得分:0)

您想要检查您的值是否存在于该数组值中 (你想找到&#34; nastya&#34;在数组字段中)

if( isset( $import_emails[$incex_of_array]['to']) )
    if(strpos($import_emails[]['to'], 'youvalue'))
        // you action