我有一个像这样的数组(PHP代码):
$my_arr=array(0=>"Joe",1=>"Mike",2=>"Simo","Peter"=>"35", 3=>"Ben" , "Ben"=>"37", 4=>"Nik" , "Joe"=>"43");
我想获取值特定的索引范围,并用这些新值替换以前的数组值。这样的事情:
$rang= 0-4 OR 0,1,2,3,4 //range of index values.
$my_arr= filtered array value in range index of $range.
我想得到这个结果:
$my_arr=array(0=>"Joe",1=>"Mike",2=>"Simo", 3=>"Ben" , 4=>"Nik");
我该怎么做?
更新
我只想分离数组的值($ my_arr),这些值在指定数量的索引范围内和数组中的任何位置,并用这些新值替换所有以前的数组($ my_arr)值
如果没有某些索引,则不应替换索引号指定范围之外的其他索引,只返回0到4之间的索引值($ my_arr [0] .... $ my_arr [4]),如果他们没有空值或者没有返回别的东西
答案 0 :(得分:2)
经过多次测试后,我找到了一个简单的解决方案:
<a href="#"><img class="logo" src="logo.png"></a>
答案 1 :(得分:1)
<强> array_slice 强>
提取数组的一部分
array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )
由于您的数组包含混合键,因此您应首先对其进行排序,以便首先显示数字键。
根据你的代码:
ksort($my_arr, SORT_NATURAL);
$my_sliced_arr = array_slice($my_arr, 0, 4);
输出:
//var_dump($my_sliced_arr)
array(4) {
[0]=>
string(3) "Joe"
[1]=>
string(4) "Mike"
[2]=>
string(4) "Simo"
[3]=>
string(3) "Ben"
}
答案 2 :(得分:0)
试试此代码
$my_arr=array(0=>"Joe",1=>"Mike",2=>"Simo","Peter"=>"35", 3=>"Ben" , "Ben"=>"37", 4=>"Nik" , "Joe"=>"43");
$numerickeys = array_filter(array_keys($my_arr), 'is_int');
foreach($numerickeys as $num)
{
$ar2[$num] = $my_arr[$num];
}
print_r($ar2);