【问题标题】:Comparing two arrays and put result in third array in php [duplicate]比较两个数组并将结果放入php中的第三个数组[重复]
【发布时间】:2020-05-29 10:01:29
【问题描述】:

时间表

[
    {"Monday":"11:30"},
    {"Monday":"12:00"},
    {"Monday":"23:00"},
    {"Tuesday":"11:30"},
    {"Tuesday":"12:00"},
    {"Tuesday":"23:00"}
]

预定时段

[
    {"Monday":"11:30"},
    {"Tuesday":"23:00"}
]

第三个数组应该是 (available slots)

[
    {"Monday":"12:00"},
    {"Monday":"23:00"},
    {"Tuesday":"11:30"},
    {"Tuesday":"12:00"}
]

我怎样才能做到这一点?

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    使用 array_diff

    print_r(array_diff(['{"Monday":"11:30"}','{"Monday":"12:00"}','{"Monday":"23:00"}','{"Tuesday":"11:30"}','{"Tuesday":"12:00"}','{"Tuesday":"23:00"}'], ['{"Monday":"11:30"}','{"Tuesday":"23:00"}']));
    

    【讨论】:

    • 出现错误:array_diff(): Expected parameter 1 to be an array 你的数组和我的数组之间的区别是我的没有字符串参数,它们用大括号括起来,没有引号...如何解决这个问题。
    • 是的,因为 {} 用于在 PHP 中包含块或函数。你是如何构建这个数组的?
    • array_push($doctor_timings, array($day_id => $time_id)); $doctorTimings = json_encode($doctor_timings);并查看该数组我必须对其进行 json_encode 否则它会给我错误
    • 好的,删除 json_endcode。像这样gist.github.com/zeppi/03ac1bcd3fa2fb5c5adaf7d8a9882645
    • 如果你执行 print_r($doctor_timings) 你会看到 array(array('day' => 'hour'), ...) 并且是 Schedule info?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多