首頁  >  文章  >  php常用數組函數

php常用數組函數

无忌哥哥
无忌哥哥原創
2018-06-28 10:12:581976瀏覽

* 函數主要要搞清楚以下幾點?

 * 1. 功能:能做什麼?

 * 2.場景: 用在哪裡?

# * 3. 參數: 必選與可選的

 * 4. 傳回值: 類型與數量

* 一、鍵與值的運算(6個)

 * 1. in_array(value, array): val是否在array中,傳回布林值

 * 2. array_key_exists(key,array):key是否在array中,傳回布林值

 * 3. array_values(array): 以索引方式傳回array值部分

 * 4. array_keys(array[,value]): 以索引方式傳回array鍵部分,還可傳回指定值的鍵

 * 5. array_search(value, array): 以字串方式傳回指定值的鍵

 * 6. array_filp(array):鍵值對調

 * 二、陣列內部指標(巡航)作業(8個)

 * 1. key(array):傳回目前元素的鍵 

 * 2. current(array):目前元素的值,pos()為同名函數

 * 3. next(array):指標下移,指向下一個元素,傳回目前值

 * 4. reset(array):指標重設,指向第一個元素,並傳回它的值

 * 5. end(array):指標移動最後一個元素上

 * 6. prev(array):指標向前移動一位,並返回目前元素的值

 * 7. each(array):傳回目前元素的鍵值的索引與關聯描述的陣列,並自動下移指標

 * 8. list($a ,$b,...):將索引數組中的值,賦值給一組變數

echo &#39;<pre class="brush:php;toolbar:false">&#39;;
$user = [&#39;id&#39;=>5,&#39;name&#39;=>&#39;peter&#39;,&#39;gender&#39;=>&#39;male&#39;,&#39;age&#39;=>30];
print_r($user); //查看数组
echo &#39;<hr color="red">&#39;;

//一.數組中的鍵與值的常用運算函數

// 1. in_array(value, array): val是否在array中,傳回布林值

echo in_array(&#39;Peter Zhu&#39;,$user) ? &#39;存在<br>&#39; : &#39;不存在<br>&#39;;

//2. array_key_exists(key,array):key是否在array中,傳回布林值

echo array_key_exists(&#39;name&#39;,$user) ? &#39;存在<br>&#39; : &#39;不存在<br>&#39;;

//3.array_values(array): 以索引方式傳回array值部分

print_r(array_values($user));

//4.array_keys(array[,value]): 以索引方式傳回array鍵部分

print_r(array_keys($user));

//4-1.array_keys(array[,value]): 以索引方式傳回array鍵部分,還可傳回指定值的鍵

print_r(array_keys($user,&#39;male&#39;));

//5. array_search(value, array):以字串方式傳回指定值的鍵

print_r(array_search(&#39;peter&#39;, $user));

//6. array_filp(array):鍵值對調

print_r(array_flip($user));

// 二、陣列內部指標(巡航)動作

//count(array)目前陣列的元素數量

echo count($user),&#39;<br>&#39;;

 //目前指標位元指向第一個元素

 //1.key(array):傳回目前元素的鍵

echo key($user),&#39;<br>&#39;;

 //2.current(array):目前元素的值,pos()為同名函數  

 echo  current($user), &#39;<br>&#39;;

 //3.next(array):指標下移,指向下一個元素

 next($user);

 //查看目前元素的鍵值

 echo key($user),&#39;<br>&#39;;
 echo  current($user), &#39;<br>&#39;;

//next(array)除將指標下移外,還可以傳回目前元素的值

var_dump(next($user)); 
 echo key($user),&#39;<br>&#39;;
 echo  current($user), &#39;<br>&#39;;

 //繼續向下遍歷,發現next(array)回傳false,說明遍歷結束

var_dump(next($user)); 

# //已到結尾無資料,不會再有輸出

 echo key($user),&#39;<br>&#39;;
 echo  current($user), &#39;<br>&#39;;

//4.reset(array):指標重設,指向第一個元素,並傳回它的值

##reset ($user);

//除重設外,還可傳回第一個元素的值

// var_dump(reset($user));  

echo key($user),&#39;<br>&#39;;
echo  current($user), '
';

//5. end(array):指標移動最後一個元素上

end($user);

// var_dump(end($user));  //也能傳回目前元素的值

echo key($user),&#39;<br>&#39;;
echo  current($user), '
';

//6. prev(array):指標向前移動一位,並傳回目前元素的值

prev($user);
echo key($user),&#39;<br>&#39;;
echo  current($user), '
';

//7. each(array): 傳回目前元素的鍵值的索引與關聯描述的陣列,並自動下移指標

 * 傳回四個元素的陣列:

 * 2個索引元素, [0]是鍵,[ 1]是值

 * 2個關聯元素, [key]是鍵, [value]是值

@print_r(each($user));  

#/ /注意:因執行效率的問題,這個函數在php7中已經廢棄

//8. list($a,$b,...):將索引數組中的值,賦值給一組變數

reset($user);  //复位指针

 * 執行的動作:

 * 1.each($user): 取得目前元素的索引部分

 * 2.list($key, $value ): [0]的值賦給變數$key, [1]的值賦給變數$value

 * 3.陣列$user指標自動下移

list($key, $value) = each($user);
echo $key,&#39;=>&#39;.$value,&#39;<br>&#39;;

//重複調用

list($key, $value) = each($user);
echo $key,&#39;=>&#39;.$value,&#39;<br>&#39;;

//非常適合用迴圈來實作

echo &#39;<hr color="blue">&#39;;
reset($user);
while(list($key, $value) = each($user)) {
echo $key,&#39;=>&#39;.$value,&#39;<br>&#39;;
}

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn