Rumah pembangunan bahagian belakang tutorial php php学习正式起航(3)

php学习正式起航(3)

Dec 28, 2016 am 09:12 AM
php

现在说数组
php数组有3种类型

数值数组 带有数字 ID 键的数组
关联数组 数组中的每个 ID 键关联一个值
多维数组 包含一个或多个数组的数组

关于数组的声明

<?php
$a[5];
$a[5]={1,2,3,4,5};
?>
Salin selepas log masuk

像C语言这种常规的2种在php里是行不通的

php有个关键字array 是用来定义数组的

<?php
$a=array();
?>
Salin selepas log masuk

这就是定义了一个空数组,不需要指定长度,里面元素可以动态添加,添加了多少个,这个数组就有多少大,而且可以继续添加,这点很爽哈

<?php
$a=array();
echo $a;
?>
Salin selepas log masuk

这样可以打印a的类型 结果是Array

但是这样的话就会报错

<?php
$a=array();
echo $a[0];
?>
Salin selepas log masuk

因为数组是空的

定义数组主要有两种方法,一种是用array

<?php
$a=array(1,2,3,4,5);
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
Salin selepas log masuk

count关键字可以计算一个数组有多少个元素

还有一种就是

<?php
$a[0]=&#39;a&#39;;
$a[1]=&#39;b&#39;;
$a[2]=&#39;c&#39;;
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
Salin selepas log masuk

直接给变量下标赋值,这个变量就自动成为数组了

但是一定要按下标顺序赋值
比如,这样就是错的

<?php
$a[0]=&#39;a&#39;;
$a[1]=&#39;b&#39;;
$a[2]=&#39;c&#39;;
$a[5]=&#39;d&#39;;
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
Salin selepas log masuk

还有数组里的元素可以不是同一类型

<?php
$a=array(1,&#39;b&#39;,"hello",1.0);
for($i=0;$i<count($a);$i++)
echo $a[$i]."<br/>";
?>
Salin selepas log masuk

是不是觉得很强大


现在说关联数组
关联数组比普通数组更强大了,下标不需要在用数字,而是自己取名字
这就是一种键对值的关系,跟java的map**很类似

<?php
$a=array("a"=>1,&#39;b&#39;=>2,"c"=>3);
echo $a["a"]."<br/>";
echo $a[&#39;b&#39;]."<br/>";
echo $a["c"]."<br/>";
?>
Salin selepas log masuk

注意是=>不是->,里面的单引号和双引号可以互换
键=>值 键可以重复 但是结果是显示最后那个

<?php
$a=array("a"=>1,&#39;a&#39;=>2,"c"=>3);
echo $a["a"]."<br/>";
echo $a["c"]."<br/>";
?>
Salin selepas log masuk

打印2 3

还有一种关联数组的定义,就是上面说过的

<?php
$a["a"]="hello";
$a["b"]="world";
echo $a["a"]."<br/>";
echo $a["b"]."<br/>";
?>
Salin selepas log masuk

但是下面这样是错误的

<?php
$a["a"]=>"hello";
$a["b"]=>"world";
echo $a["a"]."<br/>";
echo $a["b"]."<br/>";
?>
Salin selepas log masuk

另外数字也可以作为键

<?php
$a["1"]="hello";
$a["2"]="world";
echo $a["1"]."<br/>";
echo $a["2"]."<br/>";
?>
Salin selepas log masuk

是可行的

不加引号可以输出来,但是php有提示注意,这个不要用

<?php
$a[&#39;a&#39;]="hello";
$a[&#39;b&#39;]="world";
echo $a[a]."<br/>";
echo $a [ b ]";
?>
Salin selepas log masuk

下面说多维数组
在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推

这就是定义了一个多维数组,二维的

<?php
$a=array(array(&#39;a&#39;,1,2),array("hello",3,1.1,));
echo $a[0][0];
?>
Salin selepas log masuk

按C语言看,就是a[2][3] 不是array有几个就是几维了
同样,多维数组里面的元素也可以是多种类型
而且还可以这样

<?php
$a=array(array(&#39;a&#39;,1,2),array("hello",3,1.1,2,&#39;a&#39;));
echo $a[0][0];
?>
Salin selepas log masuk

不要求每个子数组的元素个数都一致,这点比C语言爽吧

和普通数组一样,多维数组也可以这样定义,不过我想没人会这样做。。

<?php
$a[0][0]="hello00";
$a[0][1]="hello01";
$a[0][2]="hello02";
$a[0][3]="hello03";
$a[1][0]="hello10";
$a[1][1]="hello11";
$a[1][2]="hello12";
$a[1][3]="hello13"; 
for($i=0;$i<2;$i++){
for($j=0;$j<4;$j++)
echo $a[$i][$j]." "; echo "<br/>";
}
?>
Salin selepas log masuk

这个二维数组是a[2][4] 2行4列,比较规矩的
注意,只要列的元素数量一致才能用循环打印出,C语言则不需要考虑这句话

还可以定义多维关联数组

<?php
$a=array(&#39;a&#39;=>array(&#39;a&#39;=>"hello",&#39;b&#39;=>"world"),&#39;b&#39;=>array(&#39;one&#39;=>1,&#39;two&#39;=>2,&#39;three&#39;=>3)); 
echo $a[&#39;a&#39;][&#39;a&#39;]; 
?>
Salin selepas log masuk

会打印hello
就看上去是有点晕,因为关联数组里面又是关联的
也可以不用这样,像下面这样就清楚许多

<?php
$a=array(&#39;a&#39;=>array("hello","world"),&#39;b&#39;=>array(1,2,3)); 
echo $a[&#39;a&#39;][0]."<br/>".$a[&#39;b&#39;][2]; 
?>
Salin selepas log masuk

打印出

hello
3
Salin selepas log masuk

绝对不能这样玩

<?php
$a=array(array(&#39;a&#39;=>"hello",&#39;b&#39;=>"world"),array(&#39;one&#39;=>1,&#39;two&#39;=>2,&#39;three&#39;=>3)); echo $a[&#39;a&#39;]; ?>
Salin selepas log masuk

错误的



前面说的都是二维数组,那么三维或以上的怎么定义,很简单

<?php
$a=array(array(array(1,2,3))); 
echo $a[0][0][0]; 
?>
Salin selepas log masuk

打印1

<?php
$a=array(array(array(1,2,3)),array(array(4,5,6))); 
echo $a[1][0][0]; 
?>
Salin selepas log masuk

打印4

<?php
$a=array(array(array(1,2,3),array(4,5,6)),array(array(7,8,9))); 
echo $a[0][1][1]; 
?>
Salin selepas log masuk

打印5

应该有人看着会晕
现在分析一下
比如$a[0][1][1]; 最右边中括号的元素在数组里表示最里面的
$a=array(array(array(1,2,3),array(4,5,6)),array(array(7,8,9)));
最大分了3层,最右边中括号的元素就表示最里面的那层
然后往左的中括号就往外一层,以此类推

其实多看看就明白了,分的几层就是几维数组
另外3维数组也不需要了解太透,一般掌握到二维就可以了

前面没详说foreach循环,其实用foreach循环遍历一维数组最好了

<?php
$a=array(1,"hello",&#39;a&#39;); 
foreach($a as $value)
echo $value."<br/>"; 
?>
Salin selepas log masuk

输出

1
hello
a
Salin selepas log masuk

是不是很简单
$value 只是一个临时变量,用来保存数组元素,叫什么名都可以
等于是把一个数组交给代理变量,让它帮着来输出


<?php
$a=array(1,"hello",&#39;a&#39;); foreach($a as $value)
echo $a."<br/>"; ?>
Salin selepas log masuk

这样是不会输出数组元素的
只会输出

Array
Array
Array
Salin selepas log masuk

以上就是php学习正式起航(3)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Kenyataan Laman Web ini
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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Pembalakan CakePHP Pembalakan CakePHP Sep 10, 2024 pm 05:26 PM

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

See all articles