PHP削除配列で指定された値の要素共通メソッド例解析【4つのメソッド】

2775 ワード

この例では、PHP削除配列で指定された値の要素について説明します.皆さんの参考にしてください.具体的には以下の通りです.
テスト配列は次のとおりです.

//        
$testArr = array(
  't' => 'qq',
  'q' => 'qq',
  'b' => 'baidu',
  'a' => 'ali',
  'm' => 'xiaomi'
);


方法1:

//foreach   unset  ,              
function delByValue($arr, $value){
  if(!is_array($arr)){
    return $arr;
  }
  foreach($arr as $k=>$v){
    if($v == $value){
      unset($arr[$k]);
    }
  }
  return $arr;
}


テスト:

$testArr = delByValue($testArr,'baidu');
print_r($testArr)


実行結果:
Array (     [t] => qq     [q] => qq     [a] => ali     [m] => xiaomi )
方法2:

//array_flip  unset,         ,              qq,         ,         )
function delByValue($arr, $value){
  $tempArr = array_flip($arr);
  unset($tempArr[$value]);
  return array_flip($tempArr);
}


テスト:

$testArr = delByValue($testArr,'baidu');
print_r($testArr)


実行結果:
Array (     [q] => qq     [a] => ali     [m] => xiaomi )
方法3:

//array_search,        ,array_search             ,                    )
function delByValue($arr, $value){
  $key = array_search($value,$arr);
  if(isset($key)){
    unset($arr[$key]);
  }
  return $arr;
}


テスト:

$testArr = delByValue($testArr,'baidu');
print_r($testArr)


実行結果:
Array (     [t] => qq     [q] => qq     [a] => ali     [m] => xiaomi )
方法4:

//  array_keys         unset)
function delByValue($arr, $value){
  $keys = array_keys($arr, $value);
  var_dump($keys);
  if(!empty($keys)){
    foreach ($keys as $key) {
      unset($arr[$key]);
    }
  }
  return $arr;
}


テスト:

$testArr = delByValue($testArr,'baidu');
print_r($testArr)


実行結果:
array(1) {   [0]=>   string(1) "b"} Array (     [t] => qq     [q] => qq     [a] => ali     [m] => xiaomi )
4つの方法をまとめると、本当に実行可能なのはやはり方法1と方法4で、この2つの方法のどちらがもっと良いかは、具体的な状況を具体的に分析しなければならない.
PHPについてもっと兴味のある読者は、「PHP配列(Array)操作テクニック大全」、「phpソートアルゴリズム総括」、「PHPデータ构造とアルゴリズムチュートリアル」、「phpプログラム设计アルゴリズム総括」、「php文字列(string)用法総括」、「PHP常用遍歴アルゴリズムとテクニック総括」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.