preg_grep 不适用于多维数组
preg_grep isn't working on multidimensional arrays
我有一个名为 $jsonvpr
的数组数组。当试图拉 preg_grep
像 preg_grep("/Jake.*.Peavy/i", $jsonvpr)
它 returns Notice: Array to string conversion in /var/www/html/crawlnew.php on line 310
很多次(我假设数组中的每个条目一次)并且它不 return 任何东西。我怀疑问题在于不仅有数组,还有数组的数组,这就是为什么它没有按我想要的那样工作,但我不知道我应该怎么做。拜托,任何人都可以指出我正确的方向吗?
数组的示例:
array(102) {
[0]=>
array(8) {
[0]=>
string(4) "Rank"
[1]=>
string(6) "Player"
[2]=>
string(13) "Games Started"
[3]=>
string(16) "Excellent Starts"
[4]=>
string(14) "Neutral Starts"
[5]=>
string(11) "Poor Starts"
[6]=>
string(12) "Volatility %"
[7]=>
string(3) "VPR"
}
[1]=>
array(8) {
[0]=>
string(0) ""
[1]=>
string(73) "Clayton Kershaw"
[2]=>
string(0) ""
[3]=>
string(0) ""
[4]=>
string(0) ""
[5]=>
string(0) ""
[6]=>
string(0) ""
[7]=>
string(0) ""
}
[2]=>
array(8) {
[0]=>
string(0) ""
[1]=>
string(73) "Felix Hernandez"
[2]=>
string(0) ""
[3]=>
string(0) ""
[4]=>
string(0) ""
[5]=>
string(0) ""
[6]=>
string(0) ""
[7]=>
string(0) ""
}
[...]
您可以先将所有名称放入一个数组中,然后 preg_grep 覆盖它:
$names = array_column($jsonvpr, 1);
$foundElements = preg_grep("/Jake.*.Peavy/i", $names);
其中array_column的第二个参数1是你要匹配的数组元素的索引
我有一个名为 $jsonvpr
的数组数组。当试图拉 preg_grep
像 preg_grep("/Jake.*.Peavy/i", $jsonvpr)
它 returns Notice: Array to string conversion in /var/www/html/crawlnew.php on line 310
很多次(我假设数组中的每个条目一次)并且它不 return 任何东西。我怀疑问题在于不仅有数组,还有数组的数组,这就是为什么它没有按我想要的那样工作,但我不知道我应该怎么做。拜托,任何人都可以指出我正确的方向吗?
数组的示例:
array(102) {
[0]=>
array(8) {
[0]=>
string(4) "Rank"
[1]=>
string(6) "Player"
[2]=>
string(13) "Games Started"
[3]=>
string(16) "Excellent Starts"
[4]=>
string(14) "Neutral Starts"
[5]=>
string(11) "Poor Starts"
[6]=>
string(12) "Volatility %"
[7]=>
string(3) "VPR"
}
[1]=>
array(8) {
[0]=>
string(0) ""
[1]=>
string(73) "Clayton Kershaw"
[2]=>
string(0) ""
[3]=>
string(0) ""
[4]=>
string(0) ""
[5]=>
string(0) ""
[6]=>
string(0) ""
[7]=>
string(0) ""
}
[2]=>
array(8) {
[0]=>
string(0) ""
[1]=>
string(73) "Felix Hernandez"
[2]=>
string(0) ""
[3]=>
string(0) ""
[4]=>
string(0) ""
[5]=>
string(0) ""
[6]=>
string(0) ""
[7]=>
string(0) ""
}
[...]
您可以先将所有名称放入一个数组中,然后 preg_grep 覆盖它:
$names = array_column($jsonvpr, 1);
$foundElements = preg_grep("/Jake.*.Peavy/i", $names);
其中array_column的第二个参数1是你要匹配的数组元素的索引