1. php重置數組為連續數字索引的幾種方式
PHP重置數組為連續數字索引的幾種方式
比如這樣的一個php數組:
[php]view plain
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
想要轉換為這樣的數組:
[php]view plain
$arr=array(
0=>'apple',
1=>'banana',
2=>'orange'
);
1、推薦的方式 array_values 方法
這樣方式無論對普通數組還是關聯數組都適用
[php]view plain
<?php
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
print_r(array_values($arr));
$arr1=array(
'name'=>'jerry',
'age'=>16,
'height'=>'18cm'
);
print_r(array_values($arr1));
輸出結果:
[sql]view plain
[root@localhostphp]#phparray.php
Array
(
[0]=>apple
[1]=>banana
[2]=>orange
)
Array
(
[0]=>jerry
[1]=>16
[2]=>18cm
)
2、使用 array_merge 方法
該方法如果只給了一個數組並且該數組是數字索引的,則鍵名會以連續方式重新索引。所以只能適用於數字索引。
[php]view plain
<?php
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
print_r(array_merge($arr));
$arr1=array(
'name'=>'jerry',
'age'=>16,
'height'=>'18cm'
);
print_r(array_merge($arr1));
輸出結果:
[php]view plain
[root@localhostphp]#phparray.php
Array
(
[0]=>apple
[1]=>banana
[2]=>orange
)
Array
(
[name]=>jerry
[age]=>16
[height]=>18cm
)
3、循環遍歷
最原始的方式,臃腫且不夠優雅,極力抵制。
[php]view plain
<?php
functionresetArr($arr){
$temp=array();
foreach($arras$v){
$temp[]=$v;
}
return$temp;
}
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
print_r(resetArr($arr));
$arr1=array(
'name'=>'jerry',
'age'=>16,
'height'=>'18cm'
);
print_r(resetArr($arr1));
That『s it!
2. php數組怎麼保留數字索引
PHP 中的 array_values() 函數可以實現 array_values() 函數返回一個包含給定數組中所有鍵值的數組,但不保留鍵名。 被返回的數組將使用數值鍵,從 0 開始且以 1 遞增。 例子 輸出: Array ( [0] => Cat [1] => Dog [2] => Horse )
3. 請教PHP數組獲得元素索引值的問題
已解決,查詢出二維數組的key
?
public function findId(&$a,$id){
foreach($a as $k=>$t){
if(in_array($id,$t))
return $k;
}
return FALSE;
}
4. php 數組索引值如何重新從0開始遞增
對於索引數組,php還有提供了另外一個內置函數,能夠重置數組索引array_merge($arr),當array_merge()只傳入一個參數且鍵名是整數,返回該數組,其鍵名以0開始進行重新索引。
其中PHP中的數組實際上是一個有序映射。映射是一種把values關聯到keys的類型。換言之,數組是特殊的變數,可以同時保存一個以上的值。
在PHP中數組類型有三種:索引數組(帶有數字索引的數組),關聯數組(帶有指定鍵的數組),多維數組(包含一個或多個數組的數組)。
(4)php數組索引擴展閱讀:
注意事項:
1、兩個相同的索引數組,同時執行,後面的會把前面的覆蓋掉。
2、在php中 索引數組的下標可以不連續。
3、如果兩個下標是空會自動增加。
4、數組的自動增長下標,默認是從0開始的,自動增長的都是出現過的最大值加1。
5、關聯數組不會影響到索引數組的排序規則,就算是索引數組是負數 也不會影響,最大值+1。
5. PHP如何讓數組索引從零開始
PHP 中的 array_values() 函數可以實現
array_values() 函數返回一個包含給定數組中所有鍵值的數組,但不保留鍵名。
被返回的數組將使用數值鍵,從 0 開始且以 1 遞增。
例子
<?php
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
print_r(array_values($a));
?>
輸出:
Array ( [0] => Cat [1] => Dog [2] => Horse )
6. PHP取得數組中的所有索引
希望我的回答是准確的
1.全等比較的意思是檢查數據類型,比如有這么一個數組:$a1 = array(10,20,30,"10"),如果你array_keys($a1,"10",false),則會返回兩個值,因為在數組中存在一個int和一個string,最終值都是10;但是如果第三個參數設置為true,那麼會判斷查詢的值的類型是否存在於數組中,這時候返回值就不同了。可以親自嘗試一下
2.關於索引的這個例子,PHP中的數組都是有索引的,如果你沒有加索引,那麼默認會給你加上。
例如:
$arr2=array(
'sunday',
'saturday',
'monday',
'sunday',
'sunday',
);
這種寫法是縮減的,它完整的寫法應該是
$arr2=array(
0 => 'sunday',
1 => 'saturday',
2 => 'monday',
3 => 'sunday',
4 => 'sunday',
);
這樣。array_keys找出所有此數組中的鍵值,那麼如果不帶參數,則會返回0,1,2,3,4這樣的。而返回值又是一個數組,所以PHP把返回的鍵值存放在一個數組中。這樣你就會混亂。這個例子不好,我們舉另外一個例子:
比如現在有個數組:
$a = array(
'id' => 1,
'name' => wang,
'image' => 'touxiang.jpg'
);
那麼,array_keys返回的結果應該是
array(
0 => 'id',
1 => 'name',
2 => 'image'
)
因為你取出鍵值時PHP會默認存為一個數組,所以會產生某個數組鍵值的鍵值,但是這個鍵值只是默認加上的,是PHP的數組特性,並不需要特別關心。
7. php數組怎樣根據值得到索引
用array_search()搜索鍵值,返回鍵名(索引),如果同一個值出現多次,那麼返回第一次出現時的鍵名(索引).
<?php
$a=array(3,4,5,4,7,3);
$s=array_search('4',$a);
echo $s;//
?>
8. php 數組如何去掉索引值
不可能去掉,默認都會有數字作為索引值。不然怎麼取值
9. 怎樣去除 PHP 數組的默認索引
你定義數組時自己設置索引不就行了,比如$a[3] = 5;
10. php數組、鍵名、索引、鍵值有什麼區別
數組的根據類型來分,分為關聯數組和數字索引數組。