ホームページ  >  記事  >  バックエンド開発  >  PHPで配列から単一の値を取得する方法

PHPで配列から単一の値を取得する方法

小云云
小云云オリジナル
2018-03-14 09:32:424533ブラウズ

phpで配列から単一の値を抽出する方法 以下では、phpで配列から単一の値を抽出する方法を紹介します。

1. 配列 arr

var_dump(arr) の値は次のとおりです:


array (size=3)
 'delete' => 
 array (size=3)
  0 => string 'HBSFlyRecode20170222-101501.txt' (length=31)
  1 => string 'HBSFlyRecode20170222-105502.txt' (length=31)
  2 => string 'HBSFlyRecode20170222-108803.txt' (length=31)
 'new' => 
 array (size=3)
  0 => string 'HBSFlyRecode20170223-101504.txt' (length=31)
  1 => string 'HBSFlyRecode20170223-105505.txt' (length=31)
  2 => string 'HBSFlyRecode20170223-108806.txt' (length=31)
 'old' => 
 array (size=3)
  0 => string 'HBSFlyRecode20170221-101507.txt' (length=31)
  1 => string 'HBSFlyRecode20170221-105508.txt' (length=31)
  2 => string 'HBSFlyRecode20170221-108809.txt' (length=31)


echo $arr['old'][0];
打印出: HBSFlyRecode20170221-101507.txt

ただし、arr がオブジェクト形式の場合、出力結果は次のようになります:


var_dump(arr)
object(stdClass)[1]
 public 'delete' => 
 array (size=3)
  0 => string 'HBSFlyRecode20170222-101501.txt' (length=31)
  1 => string 'HBSFlyRecode20170222-105502.txt' (length=31)
  2 => string 'HBSFlyRecode20170222-108803.txt' (length=31)
 public 'new' => 
 array (size=3)
  0 => string 'HBSFlyRecode20170223-101504.txt' (length=31)
  1 => string 'HBSFlyRecode20170223-105505.txt' (length=31)
  2 => string 'HBSFlyRecode20170223-108806.txt' (length=31)
 public 'old' => 
 array (size=3)
  0 => string 'HBSFlyRecode20170221-101507.txt' (length=31)
  1 => string 'HBSFlyRecode20170221-105508.txt' (length=31)
  2 => string 'HBSFlyRecode20170221-108809.txt' (length=31)

$arr[' old'][0] に値がある場合は使用できません。arr オブジェクトと配列に共通の foreach メソッドを使用して値を取得できます:


function getValue($arr){
 foreach($arr as $key => $value){
  if(is_array($value)){
   getValue($value);
  }else{
   echo $value."<br>";
  }
 }
}

arr がオブジェクト形式の場合、オブジェクトを配列形式に変換することができます。ショートカットの例は次のとおりです: $object_json = json_encode($arr); 得られるのは object$json = json_encode($arr,true); です。得られるものは純粋な json

2 です。 json_decode($object_json) json_decode($json) で得られるものは配列オブジェクトです

json_decode($object_json,true) で得られるものは、 array

要約すると、次の方法で配列オブジェクトを配列に変換できます:

arr=jsondecode(jsonencode(arr=jsondecode(jsonencode(arr,true),true);

この問題は、php で json と array を変換するときに、 json_encode() と json_decode() の 2 番目のパラメーターに true を追加する必要があります。つまり:


json_encode(arr,true);jsondecode(arr,true);jsondecode(json,true);

以上がPHPで配列から単一の値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。