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

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

WBOY
Release: 2016-06-06 20:37:31
Original
1126 people have browsed it

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

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

<code>return $items;
</code>
Copy after login
Copy after login

}

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

回复内容:

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

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

<code>return $items;
</code>
Copy after login
Copy after login

}

$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>
Copy after login

@宋小北 提到的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>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template