PHP.mk документација

array_slice

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.array-slice.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.array-slice.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
array_slice

Референца за `function.array-slice.php` со подобрена типографија и навигација.

function.array-slice.php

array_slice

(PHP 4, PHP 5, PHP 7, PHP 8)

array_sliceExtract a slice of the array

= NULL

array_slice(
         array $array,
         int $offset,
         ?int $length = null,
         bool $preserve_keys = false
): array

array_slice() Извлечете дел од низата array враќа низа од елементи од низата offset and length parameters.

Параметри

array

Влезната низа.

offset

Враќа offset како што е наведено од array.

Враќа offset е ненегативен, низата ќе започне од таа позиција во array.

Забелешка:

На offset е негативен, низата ќе започне толку далеку од крајот на

length

Враќа length параметарот означува позиција во низата, а не клуч.

е даден и е позитивен, тогаш низата ќе има до толку елементи во неа. lengthАко низата е пократка од

Враќа length , тогаш ќе бидат присутни само достапните елементи од низата.

е даден и е негативен тогаш низата ќе запре толку елементи од крајот на низата. offset Ако е изоставен, тогаш низата ќе има сè од array.

preserve_keys

Забелешка:

array_slice() до крајот на preserve_keys to trueќе ги преуреди и ресетира целобројните индекси на низата по дифолт. Ова однесување може да се промени со поставување

Вратени вредности

. Клучовите од тип стринг секогаш се зачувуваат, без оглед на овој параметар.

Примери

Пример #1 array_slice() examples

<?php
$input
= array("a", "b", "c", "d", "e");

$output = array_slice($input, 2); // returns "c", "d", and "e"
$output = array_slice($input, -2, 1); // returns "d"
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

Пример #2 array_slice() Враќа дел. Ако позицијата е поголема од големината на низата, се враќа празна низа.

<?php
$input
= array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Array
(
    [0] => b
    [1] => c
)

Пример #3 array_slice() и низа со мешани клучеви

<?php
$ar
= array('a'=>'apple', 'b'=>'banana', '42'=>'pear', 'd'=>'orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Array
(
    [a] => apple
    [b] => banana
    [0] => pear
)
Array
(
    [a] => apple
    [b] => banana
    [42] => pear
)

Види Исто така

  • array_chunk() - Подели низа на делови
  • array_splice() - Отстрани дел од низата и замени го со нешто друго
  • unset() се поставени, користете го

Белешки од корисници 8 белешки

taylorbarstow на услугата google mail
19 години пред
Array slice function that works with associative arrays (keys):

function array_slice_assoc($array,$keys) {
    return array_intersect_key($array,array_flip($keys));
}
Ray.Paseur често користи Gmail
12 години пред
<?php
// CHOP $num ELEMENTS OFF THE FRONT OF AN ARRAY
// RETURN THE CHOP, SHORTENING THE SUBJECT ARRAY
function array_chop(&$arr, $num)
{
    $ret = array_slice($arr, 0, $num);
    $arr = array_slice($arr, $num);
    return $ret;
}
nathan dot fiscaletti на gmail dot com
пред 8 години
If you want an associative version of this you can do the following:

function array_slice_assoc($array,$keys) {
    return array_intersect_key($array,array_flip($keys));
}

However, if you want an inverse associative version of this, just use array_diff_key instead of array_intersect_key. 

function array_slice_assoc_inverse($array,$keys) {
    return array_diff_key($array,array_flip($keys));
}

Example:

$arr = [
    'name' => 'Nathan',
    'age' => 20,
    'height' => 6
];

array_slice_assoc($arr, ['name','age']);

will return 

Array (
     'name' = 'Nathan',
     'age' = 20
)

Where as

array_slice_assoc_inverse($arr, ['name']);

will return 

Array (
    'age' = 20,
    'height' = 6
)
ted.devito на 9gmail9 точка 99com
пред 17 години
based on worldclimb's arem(), here is a recursive array value removal tool that can work with multidimensional arrays.

function remove_from_array($array,$value){
    $clear = true;
    $holding=array();
   
    foreach($array as $k => $v){
        if (is_array($v)) {
            $holding [$k] = remove_from_array ($v, $value);
            }
        elseif ($value == $v) {
            $clear = false;
            }
        elseif($value != $v){
            $holding[$k]=$v; // removes an item by combing through the array in order and saving the good stuff
        }
    }   
    if ($clear) return $holding; // only pass back the holding array if we didn't find the value 
}
worldclimb на 99gmail99 точка com
пред 18 години
array_slice can be used to remove elements from an array but it's pretty simple to use a custom function.

One day array_remove() might become part of PHP and will likely be a reserved function name, hence the unobvious choice for this function's names.

<?
function arem($array,$value){
    $holding=array();
    foreach($array as $k => $v){
        if($value!=$v){
            $holding[$k]=$v;
        }
    }    
    return $holding;
}

function akrem($array,$key){
    $holding=array();
    foreach($array as $k => $v){
        if($key!=$k){
            $holding[$k]=$v;
        }
    }    
    return $holding;
}

$lunch = array('sandwich' => 'cheese', 'cookie'=>'oatmeal','drink' => 'tea','fruit' => 'apple');
echo '<pre>';
print_r($lunch);
$lunch=arem($lunch,'apple');
print_r($lunch);
$lunch=akrem($lunch,'sandwich');
print_r($lunch);
echo '</pre>';
?>

(remove 9's in email)
Benjamin Sonntag
пред 2 години
The documentation doesn't say it, but if LENGTH is ZERO, then the result is an empty array [].
developer на i-space точка org
figroc at gmail dot com
remember that array_slice returns an array with the current element. you must use array_slice($array, $index+1) if you want to get the next elements.
s0i0m на dreamevilconcepts точка com
пред 17 години
Using the varname function referenced from the array_search page, submitted by dcez at land dot ru. I created a multi-dimensional array splice function. It's usage is like so:

$array['admin'] = array('blah1', 'blah2');
$array['voice'] = array('blah3', 'blah4');
array_cut('blah4', $array);

...Would strip blah4 from the array, no matter where the position of it was in the array ^^ Returning this...

Array ( [admin] => Array ( [0] => blah1 [1] => blah2 ) [voice] => Array ( [0] => blah3 ) ) 

Here is the code...

<?php

  function varname ($var)
  {
    // varname function by dcez at land dot ru
    return (isset($var)) ? array_search($var, $GLOBALS) : false;
  }

  function array_cut($needle, $haystack)
  {
    foreach ($haystack as $k => $v)
    {
      for ($i=0; $i<count($v); $i++)
        if ($v[$i] === $needle)
        {
          return array_splice($GLOBALS[varname($haystack)][$k], $i, 1);
          break; break;
        }
    }

?>

Check out dreamevilconcept's forum for more innovative creations!
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.