Php preg_grep不是&x27;t在多维数组上工作
我有一个名为Php preg_grep不是&x27;t在多维数组上工作,php,arrays,regex,preg-grep,Php,Arrays,Regex,Preg Grep,我有一个名为$jsonvpr的数组。当尝试拉取一个preg_grep时,比如preg_grep(“/Jake.*.Peavy/i”,$jsonvpr)它会返回注意:第310行/var/www/html/crawlnew.php中的数组到字符串的转换多次(数组中的每个条目我都会重复一次),并且它不会返回任何内容。我怀疑问题不只是阵列,而是阵列的阵列,这就是为什么它没有按我想要的那样工作,但我不知道该怎么做。请,有人能给我指一下正确的方向吗 阵列的使用方式示例: array(102) { [0]
$jsonvpr
的数组。当尝试拉取一个preg_grep
时,比如preg_grep(“/Jake.*.Peavy/i”,$jsonvpr)
它会返回注意:第310行/var/www/html/crawlnew.php中的数组到字符串的转换多次(数组中的每个条目我都会重复一次),并且它不会返回任何内容。我怀疑问题不只是阵列,而是阵列的阵列,这就是为什么它没有按我想要的那样工作,但我不知道该怎么做。请,有人能给我指一下正确的方向吗
阵列的使用方式示例:
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) ""
}
[...]
您可以先将所有名称放入一个数组中,然后对其进行预处理:
$names = array_column($jsonvpr, 1);
$foundElements = preg_grep("/Jake.*.Peavy/i", $names);
其中,array_列的第二个参数1是要匹配的数组元素的索引。您的数组是多维的!不使用多维数组是有原因的。你到底想返回什么,整个数组条目还是一个名称?整个数组条目。例如,我需要它用正则表达式按名称查找,当它找到它时,我需要知道它是什么条目,以便能够修改它的统计数据(排名、玩家、游戏开始…)。例如,如果正则表达式是/Clayton.*.Kershaw/i
,我需要返回值1,这样我就知道Clayton Kershaw在$jsonvpr[1]
谢谢你,这实际上相当聪明!虽然我做了不同的尝试,但你让我走上了正轨!我所做的是:foreach($jsonvpr作为$result)array_push($vprnames,$result[1])
然后$pitchrpos=preg\u grep($regex,$vprnames)代码>