【发布时间】:2020-10-26 19:37:15
【问题描述】:
使用 print_r 打印名为 yestardayArray 的数组时,我有以下输出:
Array
(
[project-id] => Array
(
[373482] => Array
(
[responsible-ids] => Array
(
[171812,129938] => Array
(
[0] => Array
(
[task-id] => 18055196
[content] => HU-002
[responsible-ids] => 171812,129938
)
)
[171812] => Array
(
[0] => Array
(
[task-id] => 18055300
[content] => HU-002
[responsible-ids] => 171812
)
[1] => Array
(
[task-id] => 18055307
[content] => HU-002 - BACK
[responsible-ids] => 171812
)
)
)
)
)
)
我正在通过项目 ID 进行迭代(使用变量 $pid),在本示例中为“373482”,并且还通过 $key 来迭代责任 ID。作为 $key,我正在使用项目的所有可能的责任 ID 值来获得匹配并做一些事情。
在只有一个负责人的情况下效果很好(因为有一个完全匹配),但如果有更多,比如在“171812,129938”中没有匹配。
您将如何验证 $key(171812 或 129938)是否是责任 ID(“171812,129938”)的一部分?
我尝试将数组键转换为字符串,以便使用内置的 php 搜索函数,如 substr_count 或 strpos。
$needString = $yesterdayArray["project-id"][$pid]["responsible-ids"][$key];
但是当我打印 needString 时,我得到的是“Array”而不是“171812,129938”。
我能做什么?
【问题讨论】:
-
这是一个糟糕的设计。数组键不应该采用需要匹配的格式,它们应该是您可以用作直接查找的格式。
-
感谢您的评论。我将键更改为在责任 ID 上只有一个值以避免逗号分隔值