php獲取鍵值對
1. php 取出數組 某一個鍵名和鍵值
這個怎麼說呢
就算是要取某一個特定的值,你也要有相應的根據啊,就是說,你要取的這個值,是你所需要的,而這個需要的值有某些特點好讓你來判斷是不是你需要的那個。
你總不能說,無論這個數組是什麼,你需要的就是第三個,如果是這樣,那就好辦了,可以在遍歷的時候判斷是不是位於第三位
function get3(){
$i=0;
foreach($a as $key=>$value){
if($i==2) {
$k = $key;
break;
}
$i++;
}
return array($key=>$value);
}
2. php數組,有什麼辦法獲取下一個元素的鍵值
方法一:用循環
function getNext(&$array, $curr_key)
{
$next = 0;
reset($array);
do
{
$tmp_key = key($array);
$res = next($array);
} while ( ($tmp_key != $curr_key) && $res );
if( $res )
{
$next = key($array);
}
return $next;
}
function getPrev(&$array, $curr_key)
{
end($array);
$prev = key($array);
do
{
$tmp_key = key($array);
$res = prev($array);
} while ( ($tmp_key != $curr_key) && $res );
if( $res )
{
$prev = key($array);
}
return $prev;
}
方法二:用Iterator,不過要先得到position
// 默認查找鍵為key元素的後一個元素
function get_element($key, $arr, $who='next')
{
//查找鍵為$key元素的位置
$offset = array_search($key, array_keys($arr));
if(FALSE == $offset || NULL == $offset) { return ;}
//查找哪個元素,前一個或後一個?
if ('prev' == $who) {
$arr = array_reverse($arr);
} else if ('next' == $who) {
} else {
throw new Exception("錯誤的參數");
}
對許多方法 都可以在後盾裡面找到 而且很詳細 很容易理解
3. 求解:PHP兩個數組的鍵值對比
<?php
$result = array();
$a = array("21"=>"美術","22"=>"計算機"); //未寫全
$b = array("3", "21"); //未寫全
foreach($b as $value){
if(array_key_exists($value, $a)) array_push($result, $a[$value]);
}
var_mp($result);
//猜你想要得到以下結果array(1) { [0]=> string(4) "美術" }
4. php中怎麼搜索相關聯數組鍵值及獲取之
array_search()函數在一個數組中搜索一個指定的值,如果找到則返回相應的鍵,否則返回FALSE
1.搜索關聯數組鍵
如果在一個數組中找到一個指定的鍵,函數array_key_exists()返回TRUE,否則返回FALSE。其
形式如下:
booleanarray_key_exists(mixedkey,arrayarray)
下面的例子將在數組鍵中搜索Ohio,如果找到,將輸出這個州加入育關信息:
$state["Delaware"]="December
7,1787";
$state["Pennsylvania"]="December12,1787";
$state["Ohio"]="March
l,1803";
86第5章數組
if(array_key_exists("Ohio",$state》
printf("Ohio
joinedtheUnionon%s",$state["Ohio"]);
結果如下:
2.搜索關聯數組值
array_search()函數在一個數組中搜索一個指定的值,如果找到則返回相應的鍵,否則返回FALSE。
其形式如下:
下面的例子在$state中搜索一個特定的日期(December7),如果找到,則返回相應州的有關信息:
$state["Ohio"]
="Marchl";.
$statef"Delaware"l="December7";
$state["Pennsylvania"]=
"December12u;
$founded=array_search("December7",$state),
i+
($founded)printf("%swasfoundedon%s.",$founded,
$state[$founded]);
輸出如下:
Delawarewas十oundedonDecember7.
5.4.2獲取數組鍵
array_keys()函數返回一個數組,其中包含所搜索數組中找到的所有鍵。其形式知下:
array
array_keys(arrayarray【Jmixedsearch_value])
如果包含可選參數search
value,則只會返回與該值匹配的鍵。下面的例子將輸出$state數組中
找到的所有鍵值:
$state["Delaware"]=
"December7,1787";
$state["Pennsylvania"]="December12,
i787";
$state["NewJersey"]="December18,1787";
$keys=
array_keys($state);
print_r($keys);
輸出如下:
5.4.3獲取數組值
array_values()函數返回一個數組中的所有值,並自動為返回的數組提供數值索引。其形式如下:
array
array_values(arrayarray)
5.5遍歷數組
87
下面的例子將獲取$population中找到的各州人口數:
$population=array("Ohio"=>"11,421,267",
"Iowa"=>"2,936,760");
print_r(array_values($population》;
這個例子的輸出如下:
5.5遍歷數組
通常需要遍歷數組並獲得各個鍵或值(或者同時獲得鍵和值),所以毫不奇怪,PHP為此提供了
一些函數來滿足需求。許多函數能完成兩項任務,不僅能獲取當前指針位置的鍵或值,還能將指針移
向下一個適當的位置。本節將介紹這些函數。
5.5.1
獲取當前數組鍵
key()函數返回input_array中當前指針所在位置的鍵。其形式如下:
mixedkey(array
array)
下面的例子通過迭代處理數組並移動指針來輸出$capitals數組的鍵:
$capitals=array("Ohio"=>"Columbus",
"Iowa"=>"DesMoines");
echo"<p>Canyounamethecapitalsofthese
states?</p>";
while($key=key($capitals》{
printf("%s
<br,>「,$key);
next($capitals);
,
將返回以下結果:
Ohio
5. php 獲取數組鍵名和鍵值
array_keys、array_values兩個函數專門執行這一的功能~~~
例如:
<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>
會輸出:
Array
(
[0] => XL
[1] => gold
)
再例如:
<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_keys($array));
?>
以上常式會輸出:
Array
(
[0] => 0
[1] => color
)
Array
(
[0] => 0
[1] => 3
[2] => 4
)
Array
(
[0] => color
[1] => size
)
6. PHP遍歷鍵值對數組
按你這個不需要遍歷呀。
/*
你這個結構應該是下面這樣
$arr=array('cont'=>'{"username":"3123213".....}');
$arr['cont'];//這個返回的是個字元串,json格式的需要處理下
$arr['cont']=json_decode($arr['cont']);
echo$arr['cont']['username'];//這個就能輸出3123213了
*/