在PHP中的任何位置上插入数组中的新项如何将新项插入到任何位置的数组中,例如在数组的中间?
3 回答
杨魅力
TA贡献1811条经验 获得超6个赞
array_splice
:
$original = array( 'a', 'b', 'c', 'd', 'e' );$inserted = array( 'x' ); // not necessarily an array, see manual quotearray_splice( $original, 3, 0, $inserted ); // splice in at position 3// $original is now a b c x d e
如果替换只是一个元素,则不需要在其周围放置Array(),除非该元素是数组本身、对象或NULL。
FFIVE
TA贡献1797条经验 获得超6个赞
function insertBefore($input, $index, $element) { if (!array_key_exists($index, $input)) { throw new Exception("Index not found"); } $tmpArray = array(); $originalIndex = 0; foreach ($input as $key => $value) { if ($key === $index) { $tmpArray[] = $element; break; } $tmpArray[$key] = $value; $originalIndex++; } array_splice($input, 0, $originalIndex, $tmpArray); return $input;}function insertAfter($input, $index, $element) { if (!array_key_exists($index, $input)) { throw new Exception("Index not found"); } $tmpArray = array(); $originalIndex = 0; foreach ($input as $key => $value) { $tmpArray[$key] = $value; $originalIndex++; if ($key === $index) { $tmpArray[] = $element; break; } } array_splice($input, 0, $originalIndex, $tmpArray); return $input;}
function insertBefore($input, $index, $newKey, $element) { if (!array_key_exists($index, $input)) { throw new Exception("Index not found"); } $tmpArray = array(); foreach ($input as $key => $value) { if ($key === $index) { $tmpArray[$newKey] = $element; } $tmpArray[$key] = $value; } return $input;}function insertAfter($input, $index, $newKey, $element) { if (!array_key_exists($index, $input)) { throw new Exception("Index not found"); } $tmpArray = array(); foreach ($input as $key => $value) { $tmpArray[$key] = $value; if ($key === $index) { $tmpArray[$newKey] = $element; } } return $tmpArray;}
- 3 回答
- 0 关注
- 449 浏览
添加回答
举报
0/150
提交
取消