如何獲取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__,"");
$file_path = $name."";
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數組的鍵:
1234567 | $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)
下面修改前面的例子,這一次我們要獲取數組值:
1234567 | $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。
123 | $fruits = array ( "apple" , "banana" , "orange" , "pear" ); print_r ( each( $fruits ) ); // Array ( [1] => apple [value] => apple [0] => 0 [key] => 0 ) |
each() 經常和 list() 結合使用來遍歷數組。本例與上例類似,不過循環輸出了整個數組:
12345678910 | $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 賦給了另一個變量的話將會導致無限循環。
這就完成了數組的遍歷。
-
網頁設計10大靈感來源介紹
不僅僅只有網頁設計能激發我們創建出色網站的動力,幾乎我們身邊的任何事都會有此作用。以下是本站小編搜索整理的關於網頁設計10大靈感來源介紹,供參考借鑑,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!自然圖01圖02思考設計的最佳場所...
-
網頁設計的佈局
網頁設計的工作目標,是通過使用更合理的顏色、字體、圖片、樣式進行頁面設計美化,在功能限定的情況下,儘可能給予用户完美的視覺體驗。以下是小編為您帶來的網頁設計的佈局,看看吧!網頁設計的佈局11、響應式網頁設計響應式網頁設計是網頁設計的一種技術,可在N多種瀏...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...