Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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数组搜索问题_Php - Fatal编程技术网

Php数组搜索问题

Php数组搜索问题,php,Php,我一直在尝试使用数组搜索函数 这是我的阵列: array (size=23) 0 => array (size=3) 0 => string '15' (length=2) 1 => float 115.08386533184 2 => string '2014-02-06 21:00:00' (length=19) 1 => array (size=3) 0 => string '8

我一直在尝试使用数组搜索函数

这是我的阵列:

array (size=23)
  0 => 
    array (size=3)
      0 => string '15' (length=2)
      1 => float 115.08386533184
      2 => string '2014-02-06 21:00:00' (length=19)
  1 => 
    array (size=3)
      0 => string '81' (length=2)
      1 => float 100.41587590619
      2 => string '2014-03-28 00:00:00' (length=19)
  2 => 
    array (size=3)
      0 => string '65' (length=2)
      1 => float 99.096448338334
      2 => string '2014-02-08 21:00:00' (length=19)
  3 => 
    array (size=3)
      0 => string '53' (length=2)
      1 => float 98.752479251378
      2 => string '2014-03-05 12:00:00' (length=19)
  4 => 
    array (size=3)
      0 => string '24' (length=2)
      1 => float 98.303557178126
      2 => string '2014-02-07 21:00:00' (length=19)
  5 => 
    array (size=3)
      0 => string '23' (length=2)
      1 => float 98.270536817788
      2 => string '2014-02-08 21:30:00' (length=19)
  6 => 
    array (size=3)
      0 => string '37' (length=2)
      1 => float 98.139812350661
      2 => string '2014-02-06 23:00:00' (length=19)
  7 => 
    array (size=3)
      0 => string '13' (length=2)
      1 => float 97.810954038756
      2 => string '2014-02-09 19:45:00' (length=19)
  8 => 
    array (size=3)
      0 => string '22' (length=2)
      1 => float 95.975221202728
      2 => string '2014-02-11 20:30:00' (length=19)
  9 => 
    array (size=3)
      0 => string '66' (length=2)
      1 => float 94.115075316114
      2 => string '2014-02-04 19:00:00' (length=19)
  10 => 
    array (size=3)
      0 => string '52' (length=2)
      1 => float 93.957291067159
      2 => string '2014-03-15 00:00:00' (length=19)
  11 => 
    array (size=3)
      0 => string '12' (length=2)
      1 => float 89.188128768086
      2 => string '2014-05-17 10:00:00' (length=19)
  12 => 
    array (size=3)
      0 => string '51' (length=2)
      1 => float 88.381986169995
      2 => string '2014-03-27 12:00:00' (length=19)
  13 => 
    array (size=3)
      0 => string '98' (length=2)
      1 => float 85.240471279545
      2 => string '2014-02-17 18:00:00' (length=19)
  14 => 
    array (size=3)
      0 => string '92' (length=2)
      1 => float 82.721601210972
      2 => string '2014-02-06 20:15:00' (length=19)
  15 => 
    array (size=3)
      0 => string '82' (length=2)
      1 => float 82.473535719129
      2 => string '2014-02-27 17:00:00' (length=19)
  16 => 
    array (size=3)
      0 => string '121' (length=3)
      1 => float 56.833974620724
      2 => string '2014-02-07 22:30:00' (length=19)
  17 => 
    array (size=3)
      0 => string '120' (length=3)
      1 => float 36.269423317467
      2 => string '2014-02-06 21:30:00' (length=19)
  18 => 
    array (size=3)
      0 => string '83' (length=2)
      1 => float 35.863780709688
      2 => string '2014-02-21 07:00:00' (length=19)
  19 => 
    array (size=3)
      0 => string '35' (length=2)
      1 => float 24.322967350005
      2 => string '2014-02-07 21:30:00' (length=19)
  20 => 
    array (size=3)
      0 => string '6' (length=1)
      1 => float 19.71405484708
      2 => string '2014-02-14 22:00:00' (length=19)
  21 => 
    array (size=3)
      0 => string '45' (length=2)
      1 => float 19.142717452481
      2 => string '2014-03-15 00:00:00' (length=19)
  22 => 
    array (size=3)
      0 => string '117' (length=3)
      1 => float 17.641278106673
      2 => string '2014-02-18 17:30:00' (length=19)
现在,我使用array_search来获取特定ID的键(注意:ID是每个数组中的第一个值)。问题是,它不起作用,可能是因为它无法获取数组本身的密钥

让我给你看一个例子:($array=上面的数组)

我希望$r等于3,因为这是数组的关键位置。 你知道我怎么做吗

$r = array_search('53', array_map(function($x) { return $x[0]; }, $array));
array\u map
将构建数组中每个元素的元素0的数组。然后在此搜索
53
,其位置将为
$r

或者您可以简单地编写一个循环:

foreach ($array as $i => $el) {
    if ($el[0] == '53') {
        $r = $i;
        $result = $el;
        break;
    }
}
array\u map
将构建数组中每个元素的元素0的数组。然后在此搜索
53
,其位置将为
$r

或者您可以简单地编写一个循环:

foreach ($array as $i => $el) {
    if ($el[0] == '53') {
        $r = $i;
        $result = $el;
        break;
    }
}
array\u map
将构建数组中每个元素的元素0的数组。然后在此搜索
53
,其位置将为
$r

或者您可以简单地编写一个循环:

foreach ($array as $i => $el) {
    if ($el[0] == '53') {
        $r = $i;
        $result = $el;
        break;
    }
}
array\u map
将构建数组中每个元素的元素0的数组。然后在此搜索
53
,其位置将为
$r

或者您可以简单地编写一个循环:

foreach ($array as $i => $el) {
    if ($el[0] == '53') {
        $r = $i;
        $result = $el;
        break;
    }
}

我搜索了SO,发现了一个类似的主题:

我稍微修改了上面提供的一个解决方案

$id=53;
$r=null;
$data=null;

foreach ($array as $idx=>$subArray) {
  if ( $subArray[0] == $id ) {
    $r=$idx;
    $target=$subArray;
    break;
  }
}

我搜索了SO,发现了一个类似的主题:

我稍微修改了上面提供的一个解决方案

$id=53;
$r=null;
$data=null;

foreach ($array as $idx=>$subArray) {
  if ( $subArray[0] == $id ) {
    $r=$idx;
    $target=$subArray;
    break;
  }
}

我搜索了SO,发现了一个类似的主题:

我稍微修改了上面提供的一个解决方案

$id=53;
$r=null;
$data=null;

foreach ($array as $idx=>$subArray) {
  if ( $subArray[0] == $id ) {
    $r=$idx;
    $target=$subArray;
    break;
  }
}

我搜索了SO,发现了一个类似的主题:

我稍微修改了上面提供的一个解决方案

$id=53;
$r=null;
$data=null;

foreach ($array as $idx=>$subArray) {
  if ( $subArray[0] == $id ) {
    $r=$idx;
    $target=$subArray;
    break;
  }
}
使用和

使用和

使用和

使用和


array\u map()
更好的分离第一列值的调用是:
array\u column()
。这是为其创建函数的任务

使用此实现:

$r = array_search('53', array_column($array,0));

完成。

array\u map()
更好的分离第一列值的调用是:
array\u column()
。这是为其创建函数的任务

使用此实现:

$r = array_search('53', array_column($array,0));

完成。

array\u map()
更好的分离第一列值的调用是:
array\u column()
。这是为其创建函数的任务

使用此实现:

$r = array_search('53', array_column($array,0));

完成。

array\u map()
更好的分离第一列值的调用是:
array\u column()
。这是为其创建函数的任务

使用此实现:

$r = array_search('53', array_column($array,0));

完成。

发布这样的结构时,从浏览器的页面源复制,以便保留
print\u r()、var\u dump()中的换行和缩进格式。
。然后在这里将其格式化为代码块,我们更容易直观地理解。
array\u键($array)
只是顶级数组的索引,从'0到22。您需要的是获取每个子数组的元素0,并在其中搜索53。@Barmar我知道,问题是我正在试图通过搜索子数组中的ID来获取顶级数组键位置。发布这样的结构时,请从浏览器的页面源复制,以便保留
print_r(),var_dump()中的换行符和缩进格式
。然后在这里将其格式化为代码块,我们更容易直观地理解。
array\u键($array)
只是顶级数组的索引,从'0到22。您需要的是获取每个子数组的元素0,并在其中搜索53。@Barmar我知道,问题是我正在试图通过搜索子数组中的ID来获取顶级数组键位置。发布这样的结构时,请从浏览器的页面源复制,以便保留
print_r(),var_dump()中的换行符和缩进格式
。然后在这里将其格式化为代码块,我们更容易直观地理解。
array\u键($array)
只是顶级数组的索引,从'0到22。您需要的是获取每个子数组的元素0,并在其中搜索53。@Barmar我知道,问题是我正在试图通过搜索子数组中的ID来获取顶级数组键位置。发布这样的结构时,请从浏览器的页面源复制,以便保留
print_r(),var_dump()中的换行符和缩进格式
。然后在这里将其格式化为代码块,我们更容易直观地理解。
array\u键($array)
只是顶级数组的索引,从'0到22。您想要的是获取每个子数组的元素0,并在其中搜索53。@Barmar我知道,问题是我试图通过搜索子数组中的ID来获取顶级数组键位置