Heim >Backend-Entwicklung >PHP-Tutorial >完善以下PHP代码中的insertAt函数,实现在数组$items的任意位置插入数据

完善以下PHP代码中的insertAt函数,实现在数组$items的任意位置插入数据

WBOY
WBOYOriginal
2016-06-06 20:37:311125Durchsuche

$items= ['苹果','橘子','梨','菠萝','香蕉','火龙果'] ;

/*
$items 传入的数组
$index 要插入的位置
$value 要插入的数据
*/
function insertAt($items, $index, $value) {

<code>return $items;
</code>

}

$items=insertAt($items, 2 , '橙子'); //执行完成后,得到的结果如下
['苹果','橘子','橙子','梨','菠萝','香蕉','火龙果'] ;

回复内容:

$items= ['苹果','橘子','梨','菠萝','香蕉','火龙果'] ;

/*
$items 传入的数组
$index 要插入的位置
$value 要插入的数据
*/
function insertAt($items, $index, $value) {

<code>return $items;
</code>

}

$items=insertAt($items, 2 , '橙子'); //执行完成后,得到的结果如下
['苹果','橘子','橙子','梨','菠萝','香蕉','火龙果'] ;

<code>php</code><code><?php $items= ['苹果','橘子','梨','菠萝','香蕉','火龙果'] ;

/*
$items 传入的数组
$index 要插入的位置
$value 要插入的数据
*/
function insertAt($items, $index, $value) {
    array_splice ( $items , $index ,  0 , $value);

    return $items;
}


$out = insertAt($items,2,'橙子');

var_dump($out);

/* return 
array (size=7)
  0 => string '苹果' (length=6)
  1 => string '橘子' (length=6)
  2 => string '橙子' (length=6)
  3 => string '梨' (length=3)
  4 => string '菠萝' (length=6)
  5 => string '香蕉' (length=6)
  6 => string '火龙果' (length=9)
 */
</code>

@宋小北 提到的array_splice是php原生实现。我们千万不要重复造轮子。

这里造一个,仅为了好玩。

<code>function insertAt($items, $value, $index=0) {
    is_numeric($index) and
    $items[($index-'0.1').'x'] = $value and
    ksort($items);
    return array_values($items);
}
</code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn