如何獲取PHP數組的鍵與值呢

    時間:2024-10-25 23:05:53 PHP 我要投稿
    • 相關推薦

    如何獲取PHP數組的鍵與值呢

      array_keys($array);//獲取數組(字典)的所有鍵值,返回一個鍵值數組。

      array_values($array)://獲取數組的所有value值,飯回一個數組。

      <?php

      $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; //注明:value不帶雙引號時,其值只能是數字!荆。!注意:大括號兩邊只能是單引號,不能是雙引號】

      帶雙引號時,可為任意字符。如:{"id":"1","location":"漢字","oxygen":"3.33","negative":"23.2","humidity":"22","temp":"2.33","pm":"6"}

      //print_r("

    ");

      //var_dump(json_decode($json));

      //var_dump(json_decode($json, true));

      //print_r(json_decode($json));

      //print_r(json_decode($json, true));

      //print_r("");

      $arr1=json_decode($json,true);

      print_r($arr1);

      print_r(array_keys($arr1));

      echo array_keys($arr1)[1];

      echo array_values($arr1)[2];

      while(list($key, $value) = each($arr1))

      {

      echo "$key === $value
    ";

      }

      ?>

      ////從同名txt文本中讀取json字符串,并轉換成數組

      ?php

      //header("Content-Type: text/html; charset=gb2312");

      header("content-Type: text/html; charset=utf-8");//字符編碼設置

      $name = basename(__file__,".php");

      $file_path = $name.".txt";

      if(file_exists($file_path))

      {

      $str = file_get_contents($file_path);//將整個文件內容讀入到一個字符串中

      //$str = str_replace(" ","
    ",$str);

      $str = str_replace(" ","",$str);

      //echo $name;

      //echo $file_path;

      echo $str;

      }

      //去掉bom頭

      function rmBOM($string)

      {

      if (substr($string, 0,3) == pack('CCC',0xef,0xbb,0xbf))

      {

      $string = substr($string, 3);

      }

      return $string;

      }

      //echo rmBOM($str);

      $str=rmBOM($str);

      $str2arr = json_decode($str,true);

      print_r($str2arr);

      ?>

      <?php

      //php 二維數組 知道keyvalue 怎么得到對應的value

      function getValueByKey($arr, $key) {

      foreach($arr as $k => $v) {

      if ($k == $key) {

      return $v;

      }

      }

      return '';

      }

      $arr = array('a' => 1, 'b' => 2);

      $result = getValueByKey($arr, 'b');

      echo "$result";

      ?>

      獲取根據value值獲取key

      <?php

      $array = array(

      'fruit1' => 'apple',

      'fruit2' => 'orange',

      'fruit3' => 'grape',

      'fruit4' => 'apple',

      'fruit5' => 'apple');

      // this cycle echoes all associative array

      // key where value equals "apple"

      while ($fruit_name = current($array)) {

      if ($fruit_name == 'apple') {

      echo key($array).'
    ';

      }

      next($array);

      }

      ?>

      本文實例講述了PHP獲取數組的鍵與值方法。分享給大家供大家參考。具體如下:

      使用數組的過程中經常要遍歷數組。通常需要遍歷數組并獲得各個鍵或值(或者同時獲得鍵和值),所以毫不奇怪,PHP為此提供了一些函數來滿足需求。許多函數能完成兩項任務,不僅能獲取當前指針位置的鍵或值,還能將指針移向下一個適當的位置。

      獲取當前數組鍵 key()

      key()函數返回input_array中當前指針所在位置的鍵。其形式如下:

      mixed key(array array)

      下面的例子通過迭代處理數組并移動指針來輸出$fruits數組的鍵:

    1
    2
    3
    4
    5
    6
    7
    $fruits = array("apple"=>"red", "banana"=>"yellow");
    while ($key = key($fruits)) {
       printf("%s <br />", $key);
       next($fruits);
    }
    // apple 
    // banana

      注意,每次調用key()時不會移動指針。為此需要使用next()函數,這個函數的唯一作用就是完成推進指針的任務。

      獲取當前數組值 current()

      current()函數返回數組中當前指針所在位置的數組值。其形式如下:

      mixed current(array array)

      下面修改前面的例子,這一次我們要獲取數組值:

    1
    2
    3
    4
    5
    6
    7
    $fruits = array("apple"=>"red", "banana"=>"yellow");
    while ($fruit = current($fruits)) {
       printf("%s <br />", $fruit);
       next($fruits);
    }
    // red 
    // yellow

      獲取當前數組鍵和值 each()

      each()函數返回input_array的當前鍵/值對,并將指針推進一個位置。其形式如下:

      array each(array array)

      返回的數組包含四個鍵,鍵0和key包含鍵名,而鍵1和value包含相應的數據。如果執行each()前指針位于數組末尾,則返回false。

    1
    2
    3
    $fruits = array("apple", "banana", "orange", "pear");
    print_r ( each($fruits) );
    // Array ( [1] => apple [value] => apple [0] => 0 [key] => 0 )

      each() 經常和 list() 結合使用來遍歷數組。本例與上例類似,不過循環輸出了整個數組:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $fruits = array("apple", "banana", "orange", "pear");
    reset($fruits);
    while (list($key, $val) = each($fruits))
    {
       echo "$key => $val<br />";
    }
    // 0 => apple
    // 1 => banana
    // 2 => orange
    // 3 => pear

      因為將一個數組賦值給另一個數組時會重置原來的數組指針,因此在上例中如果我們在循環內部將 $fruits 賦給了另一個變量的話將會導致無限循環。

      這就完成了數組的遍歷。

    【如何獲取PHP數組的鍵與值呢】相關文章:

    php數組函數序列之array-combine() - 數組合并函數的代碼03-31

    PHP獲取今天開始和結束的時間戳03-18

    如何學好PHP知識03-30

    新手如何學習PHP語言03-29

    淺析通如何加強php的安全03-06

    php如何過濾危險html代碼03-30

    如何利用ajax獲取博文列表03-18

    如何在cmd下面寫php代碼01-22

    jQuery(js)如何獲取文字寬度(顯示長度)03-29

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      中文字幕亚洲乱码精品 | 日韩精品乱码AV一区二区蜜桃 | 亚洲日本三级中文字幕 | 亚洲综合久久久久久中文字幕 | 亚洲C1网在线观看 | 偷窥国产在线91 |