php數組中的位置
㈠ php如何獲取數組指定值得位置
如果是一維數組可以用array_flip函數 交換數組中的鍵和值 然後用值獲取位置
例子:
$arrFlip=array_flip($arr);
$position=$arrFlip['指定值'];
㈡ php 數組 將指定元素移至末尾
$arr = array(0,3,5,0,0,7,1,9,0,8);
$count = count($arr);
$remove_arr = array();
for($i=0;$i<=$count;$i++){
if($arr[$i] === 0) {
array_push($arr, $arr[$i]);
array_push($remove_arr, $i);
}
}
foreach($arr as $k=> $v) {
if(in_array($k, $remove_arr)){
unset($arr[$k]);
}
}
echo '<pre>';
var_mp($arr);die;
㈢ php 鍵值和值互換位置,是什麼方法的
使用array_flip函數可以交換數組的鍵值,詳細用法如下:
array_flip — 交換數組中的鍵和值
arrayarray_flip(array$trans)
array_flip() 返回一個反轉後的 array,例如 trans 中的鍵名變成了值,而trans 中的值成了鍵名。
注意 trans 中的值需要能夠作為合法的鍵名,例如需要是integer 或者 string。如果值的類型不對將發出一個警告,並且有問題的鍵/值對將不會反轉。
如果同一個值出現了多次,則最後一個鍵名將作為它的值,所有其它的都丟失了。
參數:
trans:要交換鍵/值對的數組。
返回值:
成功時返回交換後的數組,如果失敗返回 NULL。
㈣ 在php中,已知某個數組的某個值,怎麼獲得該數組所在位置
方法如下:
<?php
$offset=array_search('h'鄭巧,$array);
echo $offset."</br>";
echo $array["$offset"+1]."</br>";
echo $array["$offset"-1]."喊李鍵</br>";
?>
(4)php數組中的位置擴展閱讀:
PHP常用函數總結:
1,abs(): 求絕對值
$abs = abs(-4.2)
2,ceil(): 進一法取擾孫整
echo ceil(9.999)
3,floor(): 捨去法取整
echo floor(9.999)
4,fmod(): 浮點數取余
$x = 5.7;
$y = 1.3
$r = fmod($x, $y)
5,pow(): 返回數的n次方
echo pow(-1, 20)
6,round(): 浮點數四捨五入
echo round(1.95583, 2)
7,sqrt(): 求平方根
echo sqrt(9)
8,max(): 求最大值
echo max(1, 3, 5, 6, 7)
㈤ php中怎樣向關聯數組的指定位置插入另一個數組的元素
這個功能需求來自於網站運營策略,舉倒子:
在一個排行列表中,默認有以下元素,順序有一定的依據,假設是按下載次數排列。
$rows = array(
array('name'=>'QQ2010'),
array('name'=>'QQ2009'),
array('name'=>'迅雷5'),
array('name'=>'飛信2010'),
array('name'=>'Kugoo2010'),
array('name'=>'TTplayer'),
array('name'=>'Firefox4.0'),
array('name'=>'美圖秀秀'),
array('name'=>'360safe'),
array('name'=>'Chrome6')
);
如果有一個客戶[可牛殺毒]想買花10元/元下我們第二個位置,可以大家想,直接把QQ2009替換掉不就完事了嗎。不,那樣的話用戶體驗並不好,明明QQ2009是一個下載次數比較多的軟體,為什麼在列表中卻沒有了呢。
其實我們真正的需求是把QQ2009以下的單元都往後推,騰出第二個位置來給[可牛殺毒]。如果頁面中只能顯示10個單元,那倒霉的就是[Chrome6]了,誰叫他們付費買我們的位置呢,呵呵。
再說到程序原理上來吧,PHP要實現這個需求,挺簡單,用數組函數array_splice就可以了,具體用法參照PHP手冊。
給一個完整的例子吧:
<?php
$rows = array(
array('name'=>'QQ2010',),
array('name'=>'QQ2009',),
array('name'=>'迅雷5',),
array('name'=>'飛信2010',),
array('name'=>'Kugoo2010',),
array('name'=>'TTplayer',),
array('name'=>'Firefox4.0',),
array('name'=>'美圖秀秀',),
array('name'=>'360safe',),
array('name'=>'Chrome6',),
);
$pop = array(
'2'=>array('name'=>'可牛殺毒'),
'5'=>array('name'=>'金山詞霸2010'),
);
foreach($pop as $key=>$p){
array_splice($rows, $key-1, 0, array($p));
}
var_mp($rows);
?>
最近的結果是:
array(12) {
[0]=>
array(1) {
["name"]=>
string(6) "QQ2010"
}
[1]=>
array(1) {
["name"]=>
string(8) "可牛殺毒"
}
[2]=>
array(1) {
["name"]=>
string(6) "QQ2009"
}
[3]=>
array(1) {
["name"]=>
string(5) "迅雷5"
}
[4]=>
array(1) {
["name"]=>
string(12) "金山詞霸2010"
}
[5]=>
array(1) {
["name"]=>
string(8) "飛信2010"
}
[6]=>
array(1) {
["name"]=>
string(9) "Kugoo2010"
}
[7]=>
array(1) {
["name"]=>
string(8) "TTplayer"
}
[8]=>
array(1) {
["name"]=>
string(10) "Firefox4.0"
}
[9]=>
array(1) {
["name"]=>
string(8) "美圖秀秀"
}
[10]=>
array(1) {
["name"]=>
string(7) "360safe"
}
[11]=>
array(1) {
["name"]=>
string(7) "Chrome6"
}
}