Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_grep不是&x27;t在多维数组上工作_Php_Arrays_Regex_Preg Grep - Fatal编程技术网

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)