cari
Rumahphp教程php手册数据结构-阵列(数组)

数据结构-阵列(数组)
数组是以连续方式存储数据的结构,可通过索引访问。 不要将它们与PHP数组混淆:PHP数组实际上实现为有序哈希表。

SplFixedArray和PHP数组之间的主要区别:

SplFixedArray是固定长度的标准(标准数组),并且只允许范围内的整数作为索引。 优点是它允许更快的阵列实现。
PHP数组实际上实现为有序哈希表(一组数据的集合)。<?php <br /> <br> /*<br> 构造一个新的固定数组,指定长度为5<br> */<br> $array = new SplFixedArray(5);<br> <br> /*<br> 为指定的索引赋值<br> */<br> $array[1] = 2;<br> $array[4] = "foo";<br> <br> /*<br> 数据结构:<br> object(SplFixedArray)#1 (5) {<br>   [0]=><br>   NULL<br>   [1]=><br>   int(2)<br>   [2]=><br>   NULL<br>   [3]=><br>   NULL<br>   [4]=><br>   string(3) "foo"<br> }<br> */<br> var_dump($array);<br> <br> /*<br> 数组长度为5<br> */<br> var_dump($array->count());<br> <br> /*<br> 将数组的大小增加到10<br> */<br> $array->setSize(10);<br> <br> /*<br> 长度增加的数组,原始数据不会发生变化<br> object(SplFixedArray)#1 (10) {<br>   [0]=><br>   NULL<br>   [1]=><br>   int(2)<br>   [2]=><br>   NULL<br>   [3]=><br>   NULL<br>   [4]=><br>   string(3) "foo"<br>   [5]=><br>   NULL<br>   [6]=><br>   NULL<br>   [7]=><br>   NULL<br>   [8]=><br>   NULL<br>   [9]=><br>   NULL<br> }<br> <br> */<br> var_dump($array);<br> <br> /*<br> 为扩充长度后的数组赋值<br> */<br> $array[9] = "asdf";<br> <br> <br> /*<br> 将数组缩小到2的大小<br> 将从索引开始处,保存两个长度<br> object(SplFixedArray)#1 (2) {<br>   [0]=><br>   NULL<br>   [1]=><br>   int(2)<br> }<br> */<br> $array->setSize(2);<br> <br> <br> <br> /*<br> 以下行抛出一个RuntimeException:索引无效或超出范围<br> */ <br> try {<br>     $array["username"]="jack";<br> } catch(RuntimeException $re) {<br>     /*<br>     RuntimeException: Index invalid or out of range<br>     索引只能是整数<br>     */<br>     echo "RuntimeException: ".$re->getMessage()."\n"; <br> }<br> <br> try {<br>     $array[-1]="jack";<br> } catch(RuntimeException $re) {<br>     /*<br>     RuntimeException: Index invalid or out of range<br>     索引不合法<br>     */<br>     echo "RuntimeException: ".$re->getMessage()."\n";<br> }<br> <br> try {<br>     $array[5]="jack";<br> } catch(RuntimeException $re) {<br>     /*<br>     RuntimeException: Index invalid or out of range<br>     索引超出数组长度<br>     */<br>     echo "RuntimeException: ".$re->getMessage()."\n";<br> }<br> <br> /*<br> 查看数组大小<br> getSize/count  <br> */<br> echo $array->getSize();<br> ?><?php <br /> <br> $data=[1 => 1, 0 => 2, 3 => 3];<br> <br> $sfa = SplFixedArray::fromArray($data);<br> <br> /*<br> object(SplFixedArray)#1 (4) {<br>   [0]=><br>   int(2)<br>   [1]=><br>   int(1)<br>   [2]=><br>   NULL<br>   [3]=><br>   int(3)<br> }<br> */<br> var_dump($sfa);<br> <br> $data=[1 => 1, 2 => 2, true => 3,5=>5];<br> $sfa = SplFixedArray::fromArray($data);<br> <br> /*<br> 1 true转化为1,索引为1的数据会被更改为3<br> 2 默认保存原始索引,而且索引从0开始,数据不存在,则默认为NULL<br> object(SplFixedArray)#2 (6) {<br>   [0]=><br>   NULL<br>   [1]=><br>   int(3)<br>   [2]=><br>   int(2)<br>   [3]=><br>   NULL<br>   [4]=><br>   NULL<br>   [5]=><br>   int(5)<br> }<br> */<br> var_dump($sfa);<br> <br> $data=[1 => 1, 2 => 2, true => 3,5=>5];<br> $sfa = SplFixedArray::fromArray($data,false);<br> <br> /*<br> 1 尝试保存原始数组中使用的数字索引。默认为true;<br> 2 如果不保存原始数字索引,那么会返回非NULL的数组<br> <br> object(SplFixedArray)#1 (3) {<br>   [0]=><br>   int(3)<br>   [1]=><br>   int(2)<br>   [2]=><br>   int(5)<br> }<br> <br> */<br> var_dump($sfa);<br> <br> <br> $data=[1 => 1, 'a' => 2, true => 3];<br> /*<br> 索引必须是整数<br> Fatal error: Uncaught exception 'InvalidArgumentException' with message 'array must contain only positive integer keys'<br> */<br> //$sfa = SplFixedArray::fromArray($data);<br> <br> ?>

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual