Home > Backend Development > PHP Tutorial > php取出数组单个值

php取出数组单个值

PHPz
Release: 2018-09-30 15:54:00
forward
1012 people have browsed it

数组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)
Copy after login
echo $arr['old'][0];
打印出: HBSFlyRecode20170221-101507.txt
Copy after login

但是如果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)
Copy after login

就不能使用 $arr[‘old’][0] 取值了 , 可以使用arr对象和数组通用的foreach方式取值:

function getValue($arr){

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

如果arr为对象形式 , 可以考录将对象转为数组形式 , 这里提供一种快捷方式:

1. $object_json = json_encode($arr);得到的是对象   $json = json_encode($arr,true);得到的是纯json2. json_decode($object_json) 和 json_decode($json)得到的是数组对象
    json_decode($object_json,true) 和 json_decode($json,true)得到的是数组

综上 , 可以将数组对象转为数组的方式:
Copy after login

arr,true),true);

项目中发现此问题 , 建议大家在php中将json和array转换时 , json_encode() 和 json_decode()的第二个参数要加 true , 即:
Copy after login

json_encode(

json,true);

更多相关教程请访问 php编程从入门到精通全套视频教程

Related labels:
php
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template