【发布时间】:2019-06-24 12:20:38
【问题描述】:
我有一个这样的数组。我从服务器的响应中得到这个:
所以有时候数组是这样的:
$array =
Array
(
[0] => Message: Thanks for all
[1] => Response: Goodbye
[2] =>
[3] => inactive
[4] => active call
[5] => active channels
[6] => Hello
[7] => Hi
[8] => yes
[9] => no
)
有时是这样的:
$array =
Array
(
[0] => Message: Thanks for all
[1] => Response: Goodbye
[2] =>
[3] => SessionTV: 2019-06-24T17:29:53.925+0530
[4] => SessionTV: 2019-06-24T17:29:53.925+0530
[5] => SessionTV: 2019-06-24T17:29:53.925+0530
[6] => Event: 0
[7] => active channels
[8] => Hello
[9] => Hi
[10] =>
)
这是我尝试过的:
if (in_array("Event:", $array))
{
array_shift($minarr);
array_shift($minarr);
array_shift($minarr);
array_shift($minarr);
array_shift($minarr);
array_shift($minarr);
array_shift($minarr);
}
else
{
array_shift($minarr);
array_shift($minarr);
array_shift($minarr);
array_shift($minarr);
array_shift($minarr);
}
但这不起作用。
两种情况下的预期输出是:
Array
(
[0] => Hello
[1] => Hi
[2] => yes
[3] => no
)
和
Array
(
[0] => Hello
[1] => Hi
[2] =>
)
所以基本上我只是从数组中移动一些行,如果它包含字符串Event:,如果它不包含字符串Event:,则移动一些其他行。
如何在这样的数组中搜索字符串?
【问题讨论】:
-
Event:不存在于第一种类型的数组中。那么你是怎么想出这样的结果的。你能详细说明一下吗? -
所以基本上你想得到所有元素之后
active channels值? -
因此,无论数组中是否包含
Event:的出现,您总是希望原始数组中出现[8] 和[9]? 是吗? -
您能否解释一下您的目标背后的逻辑,而不是展示您的解决方案并期望我们理解您的问题?
-
@Qirel 说了什么。您只想要“活跃频道”之后的所有内容?
标签: php arrays sorting multidimensional-array