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 サイトの他の関連記事を参照してください。