php怎樣取出數組中的單個值

來源:互聯網
上載者:User
這次給大家帶來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為對象形式 , 可以考錄將對象轉為數組形式 , 這裡提供一種捷徑:

1. $object_json = json_encode($arr);得到的是對象

$json = json_encode($arr,true);得到的是純json

2. json_decode($object_json) 和 json_decode($json)得到的是數組對象

json_decode($object_json,true) 和 json_decode($json,true)得到的是數組

綜上 , 可以將數組對象轉為數組的方式:

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

項目中發現此問題 , 建議大家在php中將json和array轉換時 , json_encode() 和 json_decode()的第二個參數要加 true , 即:

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

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

php保留索引值+合并數組詳解

怎麼剔除二維數組中的重複的值

區分關聯陣列與索引數組的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.