0

列名に「xx」が含まれる列から最小値を取得しようとしています。数字で始まるため、列の名前に問題があると思います。

以下は私のコードです:

<?php
$array = array(
 array(
  'id' => 1,
  '10xx' => 14,
  '11xx' => 32,
  '12xx' => 4
 ),

  array(
   'id' => 2,
  '10xx' => 13,
  '11xx' => 36,
  '12xx' => 41
 )
);



foreach($array as $item)
{
 $lowestKey = '';
 foreach($item as $key => $value)
 {


  if(strpos($key, 'xx') === 0)
  {

   if($lowestKey == '')
   {
    $lowestKey = $key;
   }
   else
   {
    if($value < $item[$lowestKey])
    {
     $lowestKey = $key;
    }
   }
  }
 }

 echo 'lowest for id ' . $item['id'] . ': ' . $item[$lowestKey] . "\n";
}
?>
4

1 に答える 1

1

これが作業コードです。

<?php

$array = array(
    array(
        'id' => 1,
        '10xx' => 14,
        '11xx' => 32,
        '12xx' => 4
    ),
    array(
        'id' => 2,
        '10xx' => 13,
        '11xx' => 36,
        '12xx' => 41
    )
);



foreach ($array as $item) {
    $lowestKey = '';
    foreach ($item as $key => $value) {
        if (strstr($key, 'xx')) {
            if ($lowestKey == '') {
                $lowestKey = $key;
            } else {
                if ($value < $item[$lowestKey]) {
                    $lowestKey = $key;
                }
            }
        }
    }

    echo 'lowest for id ' . $item['id'] . ': ' . $item[$lowestKey] . "\n";
}
?>

strpos()使用する代わりにstrstr()

于 2013-10-07T10:44:16.170 に答える