drnf09037160 2019-01-05 23:48
浏览 27
已采纳

为什么我的值不被识别在数组中?

I'm trying to check if a date string is in an array of dates from a WordPress database. Currently, there is only one value in the array: 2019-01-02

If I print the array I get this:

Array ( [0] => stdClass Object ( [date] => 2019-01-02 ) )

Why is the value not recognized to be in the array?

<?php
    $sql = "SELECT date FROM wp_table";
    $result = $wpdb->get_results($sql);
    if (in_array('2019-01-02', $result)) {
        echo "Yes, the date is in the array!";
    }
    print_r($result);
?>

The there is no result from the above.

Any help is very much appreciated.

Kresten

  • 写回答

2条回答 默认 最新

  • dqxm14187 2019-01-06 00:06
    关注

    It's not working because in_array is not suited to an associative (key, value) array.

    If you had the following array:

    array("2019-01-01", "banana", "dog)
    

    ...it would work. But it won't work with the keys.

    If you are only ever looking for one specific 'key', in this case date, you can amend your scope to be only that 'column':

    $dates = array_column( $result, 'date' );

    in your code:

    <?php
        $sql = "SELECT date FROM wp_table";
        $result = $wpdb->get_results($sql);
        $dates = array_column( $result, 'date' );
    
        if (in_array('2019-01-02', $dates)) {
            echo "Yes, the date is in the array!";
        }
        print_r($result);
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀