我正在使用range()
函數來創建數組。不過,我希望keys
與value
相同。這是確定當我這樣做range(0, 10)
作爲指數從0
開始,但是如果我做range(1, 11)
,指數仍將從0
開始,所以它最終0=>1
時,我想這是1=>1
PHP創建數組,其中鍵和值相同
如何使用range()
來創建一個數組,其中key
與value
相同?
我正在使用range()
函數來創建數組。不過,我希望keys
與value
相同。這是確定當我這樣做range(0, 10)
作爲指數從0
開始,但是如果我做range(1, 11)
,指數仍將從0
開始,所以它最終0=>1
時,我想這是1=>1
PHP創建數組,其中鍵和值相同
如何使用range()
來創建一個數組,其中key
與value
相同?
如何array_combine?
$b = array_combine(range(1,10), range(1,10));
range如何返回數組值?當我們回顯範圍(1,10)時,它會顯示完整內容?混淆的傢伙? – Nandakumar 2013-11-18 06:24:37
輝煌答案 – 2014-01-13 23:50:23
簡單,清晰,完美! – 2014-08-20 06:29:48
沒有開箱即用的解決方案。你將不得不自己創建數組,像這樣:
$temp = array();
foreach(range(1, 11) as $n) {
$temp[$n] = $n;
}
但是,更重要的是,爲什麼你需要嗎?你可以使用這個值本身?
<?php
function createArray($start, $end){
$arr = array();
foreach(range($start, $end) as $number){
$arr[$number] = $number;
}
return $arr;
}
print_r(createArray(1, 10));
?>
<?php
$array = array();
foreach (range(1,11) as $r)
$array[$r] = $r;
print_r($array);
?>
她的代碼很聰明 – 2016-01-13 10:46:33
創建功能,使這個:
if (! function_exists('sequence_equal'))
{
function sequence_equal($low, $hight, $step = 1)
{
return array_combine($range = range($low, $hight, $step), $range);
}
}
使用:
print_r(sequence_equal(1, 10, 2));
輸出:
array (
1 => 1,
3 => 3,
5 => 5,
7 => 7,
9 => 9,
)
在PHP 5.5> =你可以使用發電機,使這個:
function sequence_equal($low, $hight, $step = 1)
{
for ($i = $low; $i < $hight; $i += $step) {
yield $i => $i;
}
}
爲什麼不乾脆不使用鑰匙呢? – 2011-03-19 05:22:56
即時通訊使用庫我無法修改,需要此>。< – Ozzy 2011-03-19 06:07:01
可能的重複[如何創建一個數組範圍與鍵使用PHP?](http://stackoverflow.com/questions/8227875/how -do-i-create-an-array-for-a-range-of-values -with-keys-using-php) – 2016-01-13 11:24:53