definisi tatasusunan php

Array Sebelum kita membiarkan semua orang mengingati dua perkara:

1. Tatasusunan boleh menyimpan pelbagai jenis data dan merupakan jenis data komposit.

2. Nama bahasa Inggeris untuk tatasusunan ialah tatasusunan Mari kita pelajari pengisytiharan tatasusunan yang paling mudah.

Kemudian mari kita buat semakan ringkas:

<?php

$shu = array(1 , 1.5 , true ,'天王盖地虎,小鸡炖蘑菇');

echo '<pre>';
var_dump($shu);
echo '</pre>';

?>

Dalam contoh di atas, kami mendapati bahawa kami telah mendepositkan:

1. Integer

2 .Titik terapung

3.Boolean

4.String

Nota: Tujuan utama teg pra gema dalam contoh di atas adalah untuk mengeluarkannya sebagaimana adanya, dan format akan dipaparkan dengan lebih baik, lebih jelas.

Kami menggunakan var_dump() untuk mencetaknya dan melihat kesannya:

QQ截图20161114115125.png

Jika kita melihat dengan teliti pada gambar di atas, anda akan mendapati ciri-ciri berikut :

1.array(saiz = 4) Ini bermakna terdapat 4 elemen di dalamnya

2.0 => int 1 Kita tahu bahawa int bermaksud integer, dan 1 ialah nilai integer. Jadi apakah maksud 0, 1, 2, 3 dan => sebelumnya?

3. 0, 1, 2, 3 terkini mewakili nombor pengenalan bacaan nilai, yang kami panggil subskrip atau kunci (Bahasa Inggeris: key)

4.= > nama standard untuk simbol yang dipanggil: koresponden nilai kunci. Oleh itu, kemudian melihat 0=> int 1 boleh dikatakan seperti ini. Aksesor subskrip 0 sepadan dengan 1 jenis integer.

5. Kami juga memanggil pasangan nilai kunci dalam elemen tatasusunan, dan elemen ialah gabungan pasangan nilai kunci.

Oh ya! Tatasusunan nampaknya agak mudah dipelajari, kerana terdapat beberapa peraturan.

Melalui contoh di atas, anda sebenarnya secara tidak sengaja telah melengkapkan salah satu kaedah pengisytiharan tatasusunan: pengisytiharan tatasusunan indeks.

Apa yang dipanggil tatasusunan indeks: ia ialah tatasusunan yang subskripnya adalah semua integer.

Adakah subskrip tatasusunan indeks perlu bermula dari 0?

Jawapan: Soalan ini sebenarnya tidak benar Tatasusunan indeks tidak semestinya bermula dari 0.

Bagaimana kita tidak boleh bermula dari 0?

Jawapan: Anda perlu menggunakan sedikit ilmu yang anda pelajari di atas. Ia adalah koresponden nilai utama. Jom mula menulis.

<?php

$kele = array('只有不断努力才能博得未来',10 => 'NoAlike', 'PHP中文网' , '去PHP中文网学PHP', 19 => '凤姐和芙蓉我都爱' , '杨幂我最爱');

//打印显示$kele
echo '<pre>';
var_dump($kele);
echo '</pre>';
?>

Dalam contoh di atas, kami secara tidak sengaja menulis tatasusunan indeks. Walau bagaimanapun, subskrip tatasusunan indeks tidak bermula dari 0, tetapi dari 10.

Namun, dalam contoh di atas, kami merasakan tulisan itu tidak cantik Kami boleh menjadikan kod itu lebih cantik dan formatnya lebih jelas.

<?php

$kele = array(
           '只有不断努力才能博得未来',
           10 => 'NoAlike',
           'PHP中文网' ,
           '去PHP中文网学PHP',
           19 => '凤姐和芙蓉我都爱' ,
           '杨幂我最爱'
       );


//打印显示$kele
echo '<pre>';
var_dump($kele);
echo '</pre>';
?>

Adakah ini menjadikannya lebih jelas satu baris sepadan dengan nilai tatasusunan.

Mari kita laksanakan kod dan lihat kesannya:

QQ截图20161114115947.png

Melalui kesan di atas, kita boleh meringkaskan peraturan:

1. Jika tatasusunan indeks tidak mengisytiharkan subskripnya secara paksa, subskripnya bermula dari 0. (Nilai tatasusunan pertama kami: Hanya usaha berterusan boleh memenangi masa hadapan. Subskrip nilai ini ialah 0).

2. Jika saya telah menentukan subskrip, subskripnya akan menjadi nilai yang saya nyatakan. Sebagai contoh, subskrip 10 dan subskrip 19 adalah nilai yang telah saya tentukan.

3. Jika nilai (seperti NoAlike) dipaksa untuk menentukan subskrip (subskrip ialah 10). Nilai ditambah selepasnya (tapak web PHP Cina), jika subskrip tidak dinyatakan. Corak pertumbuhan subskrip mereka ialah +1 maksimum.

Contohnya: Subskrip untuk Sister Feng dan Furong, yang saya sukai kedua-duanya, ialah 19. Saya menambah pada penghujung: Yang Mi ialah kegemaran saya. Subskripnya secara automatik meningkat kepada 11.

Tanpa disedari, anda telah mempelajari cara membuat tatasusunan indeks, bukankah ianya menakjubkan? Sangat gembira untuk anda!

Tambah elemen pada tatasusunan indeks

Selepas mempelajari penciptaan tatasusunan indeks, seterusnya kita mempelajari penambahan dan pengubahsuaian tatasusunan indeks dan padam.

<?php

$minren = array(
           '杨幂',
           '王珞丹',
           '刘亦菲',
           '黄圣依'
       );


//如何向这$minren这个数组中增加元素呢

//猜猜范冰冰的下标是多少?
$minren[] = '范冰冰';

$minren[100] = '范爷';

//它的下标又为几呢?
$minren[] = '李晨';

?>

Ringkasan:

1. Untuk menambah elemen pada tatasusunan indeks, gunakan dua kaedah: nama pembolehubah tatasusunan [], nama pembolehubah tatasusunan [nilai kunci] untuk menambah elemen

2. Peraturan pertumbuhan nilai utama adalah sama seperti sebelumnya. Kesemuanya adalah berdasarkan prinsip menambah 1 kepada nilai maksimum.

Padam elemen daripada tatasusunan indeks

Mari kita ambil tatasusunan tadi sebagai contoh:

<?php

$minren = array(
           '杨幂',
           '王珞丹',
           '刘亦菲',
           '黄圣依',
           '范冰冰'
       );


//假设我不喜欢:黄圣依,如何将黄圣依给删掉掉呢?

//如果删除掉后范冰冰的下标为多少呢?

//如果在后面再追加一个元素,会填掉:“黄圣依”留下来的空吗?

unset($minren[3]);

$minren[] = '金星';


echo '<pre>';

var_dump($minren);

echo '</pre>';


?>

Lihat kesan:

QQ截图20161114130646.png

1. Gunakan unset untuk memadam pembolehubah untuk memadam nilai dalam tatasusunan.

2. Memadamkan nilai tengah tidak akan mengalihkan subskrip berikutnya ke hadapan secara automatik. Tetapi ia adalah apa sahaja nilai asalnya

3. Padamkan salah satu nilai, dan nilai yang baru ditambah tidak akan menggantikan kedudukan asal, dan masih mengikut prinsip menambah 1 kepada nilai maksimum.

Ubah suai nilai

Kami mempelajari penciptaan, penambahan dan pemadaman yang paling mudah. Saya percaya semua orang akan dapat memikirkan cara mengubah suai nilai.

<?php

$minren = array(
           '杨幂',
           '王珞丹',
           '刘亦菲',
           '黄圣依',
           '范冰冰'
       );

$minren[5] = '范爷';

$minren[2] = '亦菲,不要嫁给韩国人好吗?';

echo '<pre>';

var_dump($minren);

echo '</pre>';


?>

Laksanakan kod di atas dan keluarkan untuk melihat hasilnya.

1. Gunakan nama pembolehubah [key] = nilai baharu. Nilai dalam tatasusunan diubah suai.

Cara lain untuk mengisytiharkan tatasusunan indeks

Melalui contoh di atas, kami mempelajari cara mengisytiharkan tatasusunan. Mari belajar cara lain untuk mengisytiharkan tatasusunan.

1 Gunakan terus pembolehubah yang tidak diisytiharkan sebelum ini dan isytiharkan tatasusunan dengan mengikut nama pembolehubah dengan kurungan.

<?php
    //直接写一个变量后面加上中括号,声明变量
    $qi[] = '可口可乐';
    $qi[10] ='百事可乐';
    echo '<pre>';
    var_dump($qi);
    echo '</pre>';
?>

2 Terlalu menyusahkan untuk menulis array() setiap kali Anda tidak perlu menulis tatasusunan, ia lebih mudah.

<?php

$minren = [
           '杨幂',
           '王珞丹',
           100 => '刘亦菲',
           '黄圣依',
           '范冰冰'
       ];

echo '<pre>';

var_dump($minren);

echo '</pre>';

?>

Di atas adalah dua lagi cara penulisan. Sudah tentu, anda boleh menggunakan mana-mana yang anda suka.

Susunatur bersekutu

Tatasusunan indeks diubah bentuk dengan sewajarnya dan tatasusunan bersekutu muncul. Selagi terdapat tatasusunan rentetan dalam tatasusunan, ia adalah tatasusunan bersekutu.

Melalui contoh di atas, kami mendapati bahawa subskrip tatasusunan hanya boleh menjadi rentetan, yang sudah tentu tidak dapat memenuhi keperluan saya.

Seandainya saya ingin mengisytiharkan subskrip kacak sepadan dengan nilai Eason Chan. Ia pasti tidak memenuhi keperluan saya.

Kemudian mari kita isytiharkan tatasusunan bersekutu. Ini dilakukan dengan cara yang sama seperti pengisytiharan tatasusunan yang diindeks. Tetapi perbezaannya ialah subskrip rentetan mesti ditentukan dan korespondensi nilai kunci mesti digunakan.

<?php

//声明一下关联数组
$rela = array(
       '帅' => '陈奕迅',
       '很帅' => '黄晓明',
       '灰常灰常帅' => '宁泽涛',
       '有男人味的大叔' => '吴秀波',
);




//再来玩玩简洁声明

$drink = [
        '美' => '凤姐',
        '很美' => '芙蓉姐姐',
        'verymei' => '杨幂',
        '心中滴女神呀' => '华妃',
        100 => '孙俪',
        '娘娘',
       ];


// 输出 $rela
echo '<pre>';

var_dump($rela);

echo '</pre>';


// 输出$drink

echo '<pre>';

var_dump($drink);

echo '</pre>';

?>

Mari kita uji dan lihat apakah keputusan akhir:

QQ截图20161114130928.png

Kita tahu melalui eksperimen:

1. Pernyataan Tatasusunan bersekutu ialah nama kunci => nilai

2. Tatasusunan bersekutu boleh mempunyai elemen tatasusunan indeks

3. Unsur tanpa subskrip diisytiharkan selepas elemen tatasusunan indeks dalam tatasusunan bersekutu , ia masih merupakan prinsip +1 maksimum. (Perhatikan bahawa nilai-nilai dalam gambar di atas adalah dua unsur Sun Li dan Maharani).

Menambah, memadam dan mengubah suai tatasusunan bersekutu

<?php 
$drink = [
             '美' => '凤姐',
             '很美' => '芙蓉姐姐',
             'verymei' => '王涛',
             '心中滴女神呀' => '杨澜',
             100 => '孙俪',
             '娘娘',
            ];
//追加方式与索引数组是一样的 
$drink['ynj'] = '伊能静'; 
//输出试试 
echo '<pre>';
var_dump($drink);
echo '</pre>'; 
//删除一个试试 
unset($drink['verymei']);
echo '<pre>';
var_dump($drink);
echo '</pre>'; 
//将芙蓉姐姐 改成:心里美才是真的美 
$drink['很美'] = '心里美才是真的美'; 
echo '<pre>';
var_dump($drink);
echo '</pre>'; 
?>

Jika anda melakukan eksperimen tadi, anda akan mengetahui kaedah operasi dan indeks operasi Dengan cara yang sama. Cuma subskripnya dibaca sedikit berbeza.

Cara lain untuk mengisytiharkan tatasusunan bersekutu

<?php
    $drink['nf'] = '农夫山泉';
    $cocacola = '可口可乐';
    //当然可以是变量哟
    $drink['kl'] = $cocacola;
    $data = array(
        'kl' => $cocacola,
    );
    echo '<pre>';
    var_dump($drink);
    echo '</pre>'; 
?>

Melalui contoh di atas, kami mendapati tatasusunan juga boleh digunakan dalam tatasusunan bersekutu, terus selepas pembolehubah Sambungkan kurungan. Memasukkan subskrip rentetan di dalam kurungan juga mengisytiharkan kejayaan.

Contoh memasukkan pembolehubah kemudiannya hanya menukar rentetan kepada pembolehubah, sudah tentu tiada masalah.

Masukkan tatasusunan ke dalam tatasusunan

Tasusunan boleh memasukkan integer, titik terapung dan rentetan, bolehkah tatasusunan dimasukkan ke dalam tatasusunan?
Sudah tentu.

Apabila mempelajari tatasusunan, kami mentakrifkan kumpulan kata nama sedemikian.

1. Tatasusunan satu dimensi Tiada tatasusunan lain dalam tatasusunan, hanya beberapa pembolehubah atau nilai.

2. Tatasusunan satu lapisan, atau tatasusunan berbilang, dimasukkan ke dalam tatasusunan dua dimensi

3. Tatasusunan tiga dimensi memasukkan tatasusunan (B) ke dalam tatasusunan ( A), dalam Tatasusunan satu peringkat (C) dimasukkan ke dalam tatasusunan B, yang kita panggil tatasusunan tiga dimensi

4. Apa-apa sahaja yang mempunyai lebih daripada tiga dimensi dipanggil tatasusunan berbilang dimensi.

Nota: Tatasusunan lain boleh dimasukkan ke dalam tatasusunan indeks dan tatasusunan bersekutu untuk menjadikan tatasusunan berbilang dimensi.

Mari kita isytiharkan tatasusunan satu dimensi dengan hanya satu dimensi. Kedua-dua pengindeksan dan perkaitan adalah mungkin. Semua orang biasa dengan operasi ini.

<?php

//一维的索引数组
$data = [1 , 2 , 3 , 4 ,  10 => 250];

//一维的关联数组

$rela = [
           'beijing' => '北京',
           'shanghai' => '上海',
           'tj' => '天津',
       ];

echo '<pre>';
var_dump($rela);
echo '</pre>';

echo '<pre>';
var_dump($data);
echo '</pre>';
?>

Semua orang sudah biasa dengan tatasusunan satu dimensi, dan ia tidak sukar untuk mengisytiharkan tatasusunan. Tidak sukar untuk menjadikannya dua dimensi, cuma masukkan satu atau lebih tatasusunan ke dalam tatasusunan. Jika anda mempelajari dua dimensi dengan baik, anda akan mempelajari yang multidimensi dengan baik.

<?php

$person = array(

       'office' => '办公室',

       //注意:插入第一个数组哟
       'family' => array(

           '爸爸',
           '妈妈',
           'yeye' => '爷爷',
           'nn' => '奶奶',
       ),

       //注意:又插入了一个平级的数组
       'jiaotong' => array(
           '自行车',
           '摩托车',
           '汽车',
           '飞机',
       ),
);

echo '<pre>';
var_dump($person);
echo '</pre>';

?>

Mari kita laksanakan dan lihat kesannya:

QQ截图20161114131215.png

Kami mendapati bahawa orang pembolehubah ialah jenis tatasusunan. Terdapat tiga elemen (saiz=3).

  • Elemen pertama ialah pejabat, yang sepadan dengan rentetan "pejabat",

  • Elemen kedua ialah keluarga, iaitu tatasusunan. , tatasusunan ini mempunyai 4 elemen, nilainya ialah: ayah, ibu, datuk, nenek.

  • Elemen ketiga ialah jiaotong, yang juga merupakan tatasusunan dengan 4 elemen, dan nilainya ialah: basikal, motosikal, kereta dan kapal terbang.

Baiklah, penyataan dua dimensi itu bagus. Cuma tulis format dengan betul dan pastikan anda memasukkan tatasusunan ke dalam tatasusunan.

Kemudian bagaimana untuk mengakses: Bagaimana pula dengan dua nilai ​​datuk dan ayah?

<?php
$person = [

       'office' => '办公室',

       //注意:插入第一个数组哟
       'family' => [

           '爸爸',
           '妈妈',
           'yeye' => '爷爷',
           'nn' => '奶奶',
       ],

       //注意:又插入了一个平级的数组
       'jiaotong' => [
           '自行车',
           '摩托车',
           '汽车',
           '飞机',
       ],
];

//访问“爸爸”这什值
echo $person['family'][0];

echo '<br />-----华丽丽的分割线------<br />';


//访问“爷爷”这什值
echo $person['family']['yeye'];

echo '<br />-----华丽丽的分割线------<br />';

//访问“汽车”这什值
echo $person['jiaotong'][2];


?>

Mari kita lihat hasilnya seperti berikut:

QQ截图20161114131256.png

Anda akan dapati dalam contoh di atas bahawa mengakses tatasusunan dua dimensi hanyalah untuk mengikuti kaedah membaca subskrip sebelumnya. Hanya klik di bawah untuk membaca.

Tulis pembolehubah dahulu, tulis keluarga subskrip dalam kurungan segi empat sama, dan kemudian tulis subskrip elemen untuk diakses.

Kita telah bercakap tentang konsep tatasusunan tiga dimensi, jadi mari kita mulakan eksperimen terus untuk melihat kesan:

<?php


$area = array(

       'china' => array(

           '上海',
           '湖北',
           '天津',
           '北京' => array(
               'hd' => '海淀',
               '朝阳',
               '房山',
               'cp' => '昌平',
           ),

           '广东' => array(
               '深圳',
               '广州',
               '佛山',
               'dg' => '东莞',

           ),

       ),


       'usa' => array(

           '华盛顿',
           '旧金山',
           '纽约' => array(
                   '曼哈顿区',
                   '皇后区',
                   '布鲁克林区',
           ),

       ),
);


echo '<pre>';
var_dump($area);
echo '</pre>';
?>

Mari kita laksanakan dan lihat kesannya:

QQ截图20161114131432.png

Penjelasan:

Terdapat dua tatasusunan di bawah pembolehubah $kawasan, satu untuk china dan satu untuk usa.

Shanghai, Hubei, Tianjin dan Beijing serta Guangdong dimasukkan ke dalam susunan china. Dan Beijing dan Guangdong adalah susunan lain. Terdapat elemen berbeza dalam dua tatasusunan Beijing dan Guangdong.

Masukkan Washington, San Francisco dan New York Amerika Syarikat ke dalam susunan USA. Dan di bawah New York adalah tatasusunan lain, menerangkan beberapa daerah di bawah New York.

Jadi, tatasusunan tiga dimensi adalah untuk memasukkan tatasusunan (A) ke dalam tatasusunan, dan memasukkan tatasusunan ke dalam tatasusunan A.

Mari lihat cara membaca nilai di dalam.

<?php


$area = array(

       'china' => array(

           '上海',
           '湖北',
           '天津',
           '北京' => array(
               'hd' => '海淀',
               '朝阳',
               '房山',
               'cp' => '昌平',
           ),

           '广东' => array(
               '深圳',
               '广州',
               '佛山',
               'dg' => '东莞',

           ),

       ),


       'usa' => array(

           '华盛顿',
           '旧金山',
           '纽约' => array(
                   '曼哈顿区',
                   '皇后区',
                   '布鲁克林区',
           ),

       ),
);


//读取华盛顿
echo $area['usa']['0'];

//读取:布鲁克林
echo $area['usa']['纽约'][2];


//读取:昌平
echo $area['china']['北京']['cp'];

//修改cp下标的值改为:西城区

$area['china']['北京']['cp'] = '西城区';

//输出看看原来昌平的值是否发生了变化
echo $area['china']['北京']['cp'];

?>

Melalui perkara di atas, kami mendapati tatasusunan tidak sukar untuk dipelajari.


Kesukaran dalam mempelajari tatasusunan berbilang dimensi:

Beri perhatian kepada format dan kemaskan pemisah baris dan lekukan setiap dimensi. Bukan mudah untuk melakukan kesilapan.

【Ingat】
Pemisah antara elemen tatasusunan ialah koma Apabila memasukkan tatasusunan ke dalam tatasusunan, jangan tulis koma bernoktah (;) di hujung

3.png<. 🎜>

Meneruskan pembelajaran
||
<?php $minren = array( '杨幂', '王珞丹', '刘亦菲', '黄圣依', '范冰冰' ); $minren[5] = '范爷'; $minren[2] = '亦菲,不要架给韩国人好吗?'; echo '<pre>'; var_dump($minren); echo '</pre>'; ?>
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!