downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Giriş> <Değişkenler ve Veri Türleriyle İlgili Eklentiler
Last updated: Fri, 27 Nov 2009

view this page in

Diziler

  • Giriş
  • Yapılandırma/Kurulum
  • Öntanımlı Sabitler
  • Dizilerde Sıralama
  • Dizi İşlevleri
    • array_change_key_case — Bir dizideki tüm anahtarları değiştirir
    • array_chunk — Bir diziyi belli uzunlukta bölümlere ayırır
    • array_combine — Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur
    • array_count_values — Bir dizideki tüm değerleri sayar
    • array_diff_assoc — Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
    • array_diff_key — Dizilerin farkını hesaplarken indisleri karşılaştırır
    • array_diff_uassoc — Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
    • array_diff_ukey — Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar
    • array_diff — Dizilerin farkını hesaplar
    • array_fill_keys — Anahtarları belirtilen diziyi değerlerle doldurur
    • array_fill — Bir diziyi değerlerle doldurur
    • array_filter — Bir dizinin elemanlarını bir geriçağırım işleviyle süzgeçten geçirir
    • array_flip — Bir dizideki anahtarlarla değerleri yer değiştirir
    • array_intersect_assoc — Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
    • array_intersect_key — Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar
    • array_intersect_uassoc — Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
    • array_intersect_ukey — Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar
    • array_intersect — Dizilerin kesişimini hesaplar
    • array_key_exists — Belirtilen anahtar veya indis dizide var mı diye bakar
    • array_keys — Bir dizideki tüm anahtarları döndürür
    • array_map — Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular
    • array_merge_recursive — İki veya daha fazla sayıda diziyi ardarda ekleyerek yeni bir dizi oluşturur
    • array_merge — Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur
    • array_multisort — Çok sayıda diziyi veya çok boyutlu dizileri sıralar
    • array_pad — Dizi boyutunu belirtilen boyuta çıkarırken, yeni elemanlara belirtilen değeri yerleştirir
    • array_pop — Dizinin sonundaki elemanı diziden çıkartır
    • array_product — Bir dizideki değerlerin çarpımını bulur
    • array_push — Belli sayıda elemanı dizinin sonuna ekler
    • array_rand — Bir diziden belli sayıda rasgele eleman döndürür
    • array_reduce — Bir geriçağırım işlevini dizinin bütün elemanlarına tek tek uygulayıp sonucu döndürür
    • array_replace_recursive — İlk dizinin elemanlarını aktarılan dizilerden ardışık olarak günceller
    • array_replace — İlk dizinin elemanlarını aktarılan dizilerden günceller
    • array_reverse — Diziyi tersine sıralayıp döndürür
    • array_search — Bir dizide belirtilen değeri arar ve bulursa ilgili anahtarı döndürür
    • array_shift — Dizini başlangıcından bir eleman çeker
    • array_slice — Bir dizinin belli bir bölümünü döndürür
    • array_splice — Bir dizinin belli bir bölümünü silip yerine başka şeyler koyar
    • array_sum — Bir dizideki değerlerin toplamını hesaplar
    • array_udiff_assoc — Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
    • array_udiff_uassoc — Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
    • array_udiff — Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
    • array_uintersect_assoc — Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
    • array_uintersect_uassoc — Veriyi ve indisleri bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
    • array_uintersect — Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
    • array_unique — Diziden yinelenen değerleri siler
    • array_unshift — Bir dizinin başlangıcına bir veya daha fazla eleman ekler
    • array_values — Bir dizinin tüm değerlerini döndürür
    • array_walk_recursive — Bir dizinin ardışık olarak her üyesine kullanıcı tanımlı bir işlevi uygular
    • array_walk — Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular
    • array — Bir dizi oluşturur
    • arsort — Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan tersine sıralar
    • asort — Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan sıralar
    • compact — Değişkenlerle değerlerinden oluşan bir dizi oluşturur
    • count — Bir dizideki eleman sayısını veya bir nesnedeki özellik sayısını döndürür
    • current — Bir diziden gösterici konumundaki elemanı döndürür
    • each — Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
    • end — Bir dizinin dahili göstericisini sonuncu elemana konumlandırır
    • extract — Bir dizideki değişkenleri simge tablosuna dahil eder
    • in_array — Bir dizide bir değerin varlığını araştırır
    • key — Bir diziden gösterici konumundaki anahtarı döndürür
    • krsort — Bir diziyi anahtarlarına göre tersine sıralar
    • ksort — Bir diziyi anahtarlarına göre sıralar
    • list — Değişkenlere bir dizi gibi atama yapar
    • natcasesort — Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar
    • natsort — Bir diziyi "doğal sıralama" algoritmasıyla sıralar
    • next — Dahili dizi göstericisini bir ilerletir
    • pos — current işlevinin takma adıdır
    • prev — Dahili dizi göstericisini bir geriletir
    • range — Belli bir eleman aralığını içeren bir dizi oluşturur
    • reset — Bir dizinin dahili göstericisini ilk elemana konumlar
    • rsort — Bir diziyi tersine sıralar
    • shuffle — Bir diziyi karar
    • sizeof — count işlevinin takma adıdır
    • sort — Bir diziyi sıralar
    • uasort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur
    • uksort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar
    • usort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar


add a note add a note User Contributed Notes
Diziler
sunear at gmail dot com
04-Aug-2009 05:45
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 ;)
Tyler Bannister
11-Jun-2009 01:59
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.
Paul
21-May-2009 09:05
To delete an individual array element use the unlink function

For example:

<?PHP
    $arr
= array( "A", "B", "C" );
   
unlink( $arr[1] );
   
// now $arr = array( "A", "C" );
?>
thomasdecaux at ebuildy dot com
15-May-2009 08:14
To browse a simple array:

<?php

foreach ($myArray AS $myItem)
{

}

?>

To browse an associative array:

<?php

foreach ($myArray AS $key=>$value)
{

}

?>

http://www.ebuildy.com
macnimble at gmail dot com
27-Mar-2009 02:59
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.
andyd273 at gmail dot com
24-Feb-2009 09:12
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);
            }
Endel Dreyer
20-Jan-2009 12:16
Function to convert PHP arrays to JavaScript Array Object:
Useful in some cases.

<?php
function array2js($array,$show_keys=false)
{
   
$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);
        } else {
           
$dimensoes[$i] = '"'.addslashes($value).'"';
            if (
$show_keys) '"'.$key.'":'.$dimensoes[$i];
        }
        if (
$i==0) $dimensoes[$i] = '['.$dimensoes[$i];
        if (
$i==$total) $dimensoes[$i].= ']';
       
$i++;
    }
    return
implode(',',$dimensoes);
}
?>
Anonymous
26-Nov-2008 06:36
@jorge at andrade dot cl
This variant is faster:
<?php
function array_avg($array,$precision=2){
    if(!
is_array($array))
        return
'ERROR in function array_avg(): this is a not array';

    foreach(
$array as $value)
        if(!
is_numeric($value))
            return
'ERROR in function array_avg(): the array contains one or more non-numeric values';
   
   
$cuantos=count($array);
  return
round(array_sum($array)/$cuantos,$precision);
}
?>
jorge at andrade dot cl
12-Nov-2008 08:03
To calculate the average of a array

<?php
function array_avg($array,$precision="2"){
   
$a=0;
    if(
is_array($array)){
        foreach(
$array as $value):
            if(!
is_numeric($value)){
               
$a++;
            }
        endforeach;
        if(
$a==0){
           
$cuantos=count($array);
            return
round(array_sum($array)/$cuantos,$precision);
        }else{
            return
"ERROR in function array_avg(): the array contains one or more non-numeric values";
        }       
    }else{
        return
"ERROR in function array_avg(): this is a not array";
    }
}
?>
alan dot lake at lakeinfoworks dot com
22-Oct-2008 03:46
To delete an array key (and its value) from an array:

<?php
   
function array_delete(&$ary,$key_to_be_deleted)
    {
       
$new = array();
        if(
is_string($key_to_be_deleted)) {
            if(!
array_key_exists($key_to_be_deleted,$ary)) {
                return;
            }
            foreach(
$ary as $key => $value) {
                if(
$key != $key_to_be_deleted) {
                   
$new[$key] = $value;
                }
            }
           
$ary = $new;
        }
        if(
is_array($key_to_be_deleted)) {
            foreach(
$key_to_be_deleted as $del) {
               
array_delete(&$ary,$del);
            }
        }
    }
?>
webmaster at infoproducts dot x10hosting dot com
11-Oct-2008 02:13
New value can also be added to the array as shown below.
$theVariable["google"] = "http//google.com";
or
$theVariable["1"] = "http//google.com";
Jack A
07-Oct-2008 03:14
Note that arrays are not allowed in class constants and trying to do so will throw a fatal error.
contact at greyphoenix dot biz
01-Jul-2008 04:36
<?php
//Creating a multidimensional array

$theVariable = array("Search Engines" =>
array (
   
0=> "http//google.com",
   
1=> "http//yahoo.com",
   
2=> "http//msn.com/"),

"Social Networking Sites" =>
array (
   
0 => "http//www.facebook.com",
   
1 => "http//www.myspace.com",
   
2 => "http//vkontakte.ru",)
);

echo
"The first array value is " . $theVariable['Search Engines'][0];
?>

-- Output--
The first array value is http://google.com
applegrew at rediffmail dot com
28-May-2008 03:23
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";

 
show source | credits | stats | sitemap | contact | advertising | mirror sites