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

Низи

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

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

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

book.array.php

Низи

Вовед

Овие функции ви овозможуваат да комуницирате и манипулирате со низи на разни начини. Низите се од суштинско значење за складирање, управување и работење со множества на променливи.

Овие функции ви овозможуваат да комуницирате и манипулирате со низи на различни начини. Низите се од суштинско значење за складирање, управување и работење со множества на променливи.

Ве молиме погледнете го Низи Поддржани се едноставни и повеќедимензионални низи, и може да бидат креирани од корисникот или креирани од друга функција. Постојат специфични функции за ракување со бази на податоци за пополнување низи од бази на податоци, и неколку функции враќаат низи. дел од прирачникот за детално објаснување за тоа како низите се имплементирани и користени во PHP. Погледнете исто така Оператори за низи

  • Претходно дефинирани константи
  • Сортирање низи
  • Функции за низи
    • array за други начини за манипулирање со низите.
    • array_all — Креирај низа
    • array_any — Проверува дали сите елементи на низата задоволуваат функција за повик
    • array_change_key_case — Проверува дали барем еден елемент на низата задоволува функција за повик
    • array_chunk — Ги менува случаите на сите клучеви во низа
    • array_column — Ја дели низата на делови
    • array_combine — Враќа вредности од една колона во влезната низа
    • array_count_values — Креира низа со користење на една низа за клучеви и друга за нејзините вредности
    • array_diff — Брои појави на секоја различна вредност во низа
    • array_diff_assoc — Пресметува разлика на низи
    • array_diff_key — Пресметува разлика на низи со дополнителна проверка на индекс
    • array_diff_uassoc — Пресметува разлика на низи со користење на клучеви за споредба
    • array_diff_ukey — Пресметува разлика на низи со дополнителна проверка на индекс што се изведува од функција за повик обезбедена од корисникот
    • array_fill — Пресметува разлика на низи со користење на функција за повик на клучевите за споредба
    • array_fill_keys — Пополнува низа со вредности
    • array_filter — Филтрира елементи од низа користејќи функција за враќање
    • array_find — Враќа прв елемент што задоволува функција за враќање
    • array_find_key — Враќа клуч на прв елемент што задоволува функција за враќање
    • array_first — Добива прва вредност од низа
    • array_flip — Разменува сите клучеви со нивните поврзани вредности во низа
    • array_intersect — Пресметува пресек на низи
    • array_intersect_assoc — Пресметува пресек на низи со дополнителна проверка на индекс
    • array_intersect_key — Пресметува пресек на низи користејќи клучеви за споредба
    • array_intersect_uassoc — Пресметува пресек на низи со дополнителна проверка на индекс, ги споредува индексите со функција за враќање
    • array_intersect_ukey — Пресметува пресек на низи користејќи функција за враќање на клучевите за споредба
    • array_is_list — Проверува дали дадена низа е листа
    • array_key_exists — Проверува дали дадениот клуч или индекс постои во низата
    • array_key_first — Добива прв клуч од низа
    • array_key_last — Добива последен клуч од низа
    • array_keys — Враќа сите клучеви или подмножество од клучевите на низа
    • array_last — Добива последна вредност од низа
    • array_map — Применува функција за враќање на елементите од дадените низи
    • array_merge — Спојува една или повеќе низи
    • array_merge_recursive — Спојува една или повеќе низи рекурзивно
    • array_multisort — Сортира повеќе или повеќедимензионални низи
    • array_pad — Пополни ја низата до одредена должина со вредност
    • array_pop — Отстрани го последниот елемент од низата
    • array_product — Пресметај го производот на вредностите во низата
    • array_push — Додај еден или повеќе елементи на крајот од низата
    • array_rand — Избери еден или повеќе случајни клучеви од низата
    • array_reduce — Итеративно намали ја низата до една вредност користејќи функција за враќање
    • array_replace — Замени ги елементите од дадените низи во првата низа
    • array_replace_recursive — Замени ги елементите од дадените низи во првата низа рекурзивно
    • array_reverse — Врати низа со елементи во обратен редослед
    • array_search — Пребарај ја низата за дадена вредност и врати го првиот соодветен клуч ако е успешно
    • array_shift — Отстрани го првиот елемент од низата
    • array_slice — Извлечи дел од низата
    • array_splice — Отстрани дел од низата и замени го со нешто друго
    • array_sum — Пресметај го збирот на вредностите во низата
    • array_udiff — Пресметува разлика на низи со користење на функција за враќање за споредба на податоци
    • array_udiff_assoc — Пресметува разлика на низи со дополнителна проверка на индекс, споредува податоци со функција за враќање
    • array_udiff_uassoc — Пресметува разлика на низи со дополнителна проверка на индекс, споредува податоци и индекси со функција за враќање
    • array_uintersect — Пресметува пресек на низи, споредува податоци со функција за враќање
    • array_uintersect_assoc — Пресметува пресек на низи со дополнителна проверка на индекс, споредува податоци со функција за враќање
    • array_uintersect_uassoc — Пресметува пресек на низи со дополнителна проверка на индекс, споредува податоци и индекси со посебни функции за враќање
    • array_unique — Отстранува дупликат вредности од низа
    • array_unshift — Додај еден или повеќе елементи на почетокот на низа
    • array_values — Врати ги сите вредности на низа
    • array_walk — Примени корисничка функција на секој член на низа
    • array_walk_recursive — Примени корисничка функција рекурзивно на секој член на низа
    • arsort — Сортирај низа во опаѓачки редослед и одржувај асоцијација на индекс
    • asort — Сортирај низа во растечки редослед и одржувај асоцијација на индекс
    • compact — Создади низа што содржи променливи и нивните вредности
    • count — Брои ги сите елементи во низа или во Countable објект
    • current — Врати го тековниот елемент во низа
    • each — Врати го тековниот пар клуч и вредност од низа и помести го курсорот на низата
    • end — Постави го внатрешниот покажувач на низата на последниот елемент
    • extract — Увези променливи во тековната табела со симболи од низа
    • in_array — Провери дали вредност постои во низа
    • key — Земи клуч од низа
    • key_exists — Псевдоним на array_key_exists
    • krsort — Сортирај низа по клуч во опаѓачки редослед
    • ksort — Сортирај низа по клуч во растечки редослед
    • list — Додели променливи како да се низа
    • natcasesort — Сортирај низа користејќи алгоритам за „природно нарачување“ што не ги зема предвид големите и малите букви
    • natsort Овие функции ви овозможуваат да комуницирате и манипулирате со низи на разни начини. Низите се од суштинско значење за складирање, управување и работење со множества на променливи.
    • next — Сортирај низа користејќи „природен редослед“ алгоритам
    • pos — Помести го внатрешниот покажувач на низата
    • prev — Псевдоним на current
    • range — Врати го внатрешниот покажувач на низата
    • reset — Создај низа што содржи опсег на елементи
    • rsort — Постави го внатрешниот покажувач на низата на првиот елемент
    • shuffle — Сортирај низа во опаѓачки редослед
    • sizeof — Измешај низа
    • sort — Псевдоним на count
    • uasort — Сортирај низа во растечки редослед
    • uksort — Сортирај низа со кориснички дефинирана функција за споредба и одржи асоцијација на индекс
    • usort — Сортирај низа по клучеви користејќи кориснички дефинирана функција за споредба

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

— Сортирај низа по вредности користејќи кориснички дефинирана функција за споредба
пред 17 години
For newbies like me.

Creating new arrays:-
//Creates a blank array.
$theVariable = array();

//Creates an array with elements.
$theVariable = array("A", "B", "C");

//Creating Associaive array.
$theVariable = array(1 => "http//google.com", 2=> "http://yahoo.com");

//Creating Associaive array with named keys
$theVariable = array("google" => "http//google.com", "yahoo"=> "http://yahoo.com");

Note:
New value can be added to the array as shown below.
$theVariable[] = "D";
$theVariable[] = "E";
— Сортирај низа користејќи алгоритам за „природно нарачување“
пред 16 години
To delete an individual array element use the unset function

For example:

<?PHP
    $arr = array( "A", "B", "C" );
    unset( $arr[1] );
    // now $arr = array( "A", "C" );
?>

Unlink is for deleting files.
macnimble на gmail dot com
пред 16 години
Converting a linear array (like a mysql record set) into a tree, or multi-dimensional array can be a real bugbear. Capitalizing on references in PHP, we can 'stack' an array in one pass, using one loop, like this:

<?php
# array_stack()
# Original idea from:
# http://www.ideashower.com/our_solutions/
#   create-a-parent-child-array-structure-in-one-pass/
function array_stack (&$a, $p = '@parent', $c = '@children')
{
  $l = $t = array();
  foreach ($a AS $key => $val):
    if (!$val[$p]) $t[$key] =& $l[$key];
    else $l[$val[$p]][$c][$key] =& $l[$key];
    $l[$key] = (array)$l[$key] + $val;
  endforeach;
  return $a = array('tree' => $t, 'leaf' => $l);
}

# Example:
$node = array();
$node[1] = array('@parent' => 0, 'title' => 'I am node 1.');
#     ^-----------------------v Link @parent value to key.
$node[2] = array('@parent' => 1, 'title' => 'I am node 2.');
$node[3] = array('@parent' => 2, 'title' => 'I am node 3.');
$node[4] = array('@parent' => 1, 'title' => 'I am node 4.');
$node[5] = array('@parent' => 4, 'title' => 'I am node 5.');

array_stack($node);

$node['leaf'][1]['title'] = 'I am node one.';
$node['leaf'][2]['title'] = 'I am node two.';
$node['leaf'][3]['title'] = 'I am node three.';
$node['leaf'][4]['title'] = 'I am node four.';
$node['leaf'][5]['title'] = 'I am node five.';

echo '<pre>',print_r($node['tree'],TRUE),'</pre>';
?>

Note that there's no parameter checking on the array value, but this is only to keep the function size small. One could easily a quick check in there to make sure the $a parameter was in fact an array.

Hope you find it useful. Huge thanks to Nate Weiner of IdeaShower.com for providing the original function I built on.
Тајлер Банистер
пред 17 години
New value can also be added to the array as shown below.
$theVariable["google"] = "http//google.com";
or
$theVariable["1"] = "http//google.com";
webmaster at infoproducts dot x10hosting dot com
пред 16 години
If an array item is declared with key as NULL, array key will automatically be converted to empty string '', as follows:

<?php
$a = array(
    NULL => 'zero',
    1    => 'one',
    2    => 'two');

// This will show empty string for key associated with "zero" value
var_dump(array_keys($a));

// Array elements are shown
reset($a);
while( key($a) !== NULL )
{
  echo key($a) . ": ".current($a) . "<br>";// PHP_EOL
  next($a);
}

// Array elements are not shown
reset($a);
while( key($a) != NULL ) // '' == null   => no iteration will be executed
{
  echo key($a) . ": ".current($a) . "<br>";// PHP_EOL
  next($a);
}
dragos dot rusu at NOSPAM dot bytex dot ro
пред 16 години
Made this function to delete elements in an array;

<?php

function array_del_elm($input_array, $del_indexes) {
    if (is_array($del_indexes)) {
        $indexes = $del_indexes;
    } elseif(is_string($del_indexes)) {
        $indexes = explode($del_indexes, " ");
    } elseif(is_numeric($del_indexes)) {
        $indexes[0] = (integer)$del_indexes;
    } else return;
    $del_indexes = null;
    
    $cur_index = 0;
    if (sort($indexes)) for($i=0; $i<count($input_array); $i++) {
        if ($i == $indexes[$cur_index]) {
            $cur_index++;
            if ($cur_index == count($indexes)) return $output_array;
            continue;
        }
        $output_array[] = $input_array[$i];
    }
    return $output_array;
}

?>

but then i saw the methods of doing the same by Tyler Bannister & Paul, could see that theirs were faster, but had floors regarding deleting multiple elements thus support of several ways of giving parameters. I combined the two methods to this to this:

<?php

function array_del_elm($target_array, $del_indexes) {
    if (is_array($del_indexes)) {
        $indexes = $del_indexes;
    } elseif(is_string($del_indexes)) {
        $indexes = explode($del_indexes, " ");
    } elseif(is_numeric($del_indexes)) {
        $indexes[0] = (integer)$del_indexes;
    } else return;
    unset($del_indexes);
    
    for($i=0; $i<count($indexes); $i++) {
        unset($target_array[$indexes[$i]]);
    }
    return $target_array;
}

?>

Fast, compliant and functional ;)
sunear at gmail dot com
пред 17 години
A small correction to Endel Dreyer's PHP array to javascript array function. I just changed it to show keys correctly:

            function array2js($array,$show_keys)
            {
                $dimensoes = array();
                $valores = array();
               
                $total = count ($array)-1;
                $i=0;
                foreach($array as $key=>$value){
                    if (is_array($value)) {
                        $dimensoes[$i] = array2js($value,$show_keys);
                        if ($show_keys) $dimensoes[$i] = '"'.$key.'":'.$dimensoes[$i];
                    } else {
                        $dimensoes[$i] = '"'.addslashes($value).'"';
                        if ($show_keys) $dimensoes[$i] = '"'.$key.'":'.$dimensoes[$i];
                    }
                    if ($i==0) $dimensoes[$i] = '{'.$dimensoes[$i];
                    if ($i==$total) $dimensoes[$i].= '}';
                    $i++;
                }
                return implode(',',$dimensoes);
            }
justin на jmfrazier dot com
пред 6 години
Using null as the key when setting an array value is NOT the same as using empty [].
<?php
  $null = null;
  $testArray = [];
  $testArray[$null] = 1;
  $testArray[$null] = 2;
  $testArray[$null] = 3;
  $testArray[$null] = 4;
  var_dump($testArray);
?>
Output:
array(1) {
  '' =>
  int(4)
}

<?php
  $testArray = [];
  $testArray[null] = 1;
  $testArray[null] = 2;
  $testArray[null] = 3;
  $testArray[null] = 4;
  var_dump($testArray);
?>
Output:
array(1) {
  '' =>
  int(4)
}

<?php
  $testArray = [];
  $testArray[] = 1;
  $testArray[] = 2;
  $testArray[] = 3;
  $testArray[] = 4;
  var_dump($testArray);
?>
Output:
array(4) {
  [0] =>
  int(1)
  [1] =>
  int(2)
  [2] =>
  int(3)
  [3] =>
  int(4)
}
info на curtinsNOSPAMcreations dot com
пред 15 години
Another way to create a multidimensional array that looks a lot cleaner is to use json_decode.  (Note that this probably adds a touch of overhead, but it sure does look nicer.)  You can of course add as many levels and as much formatting as you'd like to the string you then decode.  Don't forget that json requires " around values, not '!!  (So, you can't enclose the json string with " and use ' inside the string.)

As an example:

<?php
    $myarray['blah'] = json_decode('[
        {"label":"foo","name":"baz"},
        {"label":"boop","name":"beep"}
    ]',true);

print_r($myarray)
?>
returns:

Array
(
    [blah] => Array
        (
            [0] => Array
                (
                    [label] => foo
                    [name] => baz
                )
 
            [1] => Array
                (
                    [label] => boop
                    [name] => beep
                )
        )
)
На оваа страница

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

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

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

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

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