0

我有一个名为$jsonvpr. 当试图拉一个preg_grep喜欢preg_grep("/Jake.*.Peavy/i", $jsonvpr)它返回Notice: Array to string conversion in /var/www/html/crawlnew.php on line 310一堆时间(我假设数组上的每个条目一次)并且它不返回任何东西。我怀疑问题在于不仅有数组,还有数组的数组,这就是为什么它没有按我想要的那样工作,但我不知道该怎么做。请,任何人都可以指出我正确的方向吗?

数组的示例:

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) ""
  }
  [...]
4

1 回答 1

0

您可以先将所有名称放入一个数组中,然后 preg_grep :

$names = array_column($jsonvpr, 1);
$foundElements = preg_grep("/Jake.*.Peavy/i", $names);

其中 array_column 的第二个参数 1 是要匹配的数组元素的索引。

于 2015-04-17T07:09:53.973 回答