首頁 後端開發 php教程 PHP开发札记系列(九)- 数组(一)

PHP开发札记系列(九)- 数组(一)

Jun 13, 2016 am 10:29 AM
array data echo

PHP开发笔记系列(九)- 数组(一)

??? 最近在做项目的时候,经常需要用到关联数组的处理,发现PHP里面有很多自带的数组处理函数,使用起来非常方便,而且效率不错,重新整理一下, 作为《PHP开发笔记系列(XAMPP+PhpEclipse+XDebug)》 的第九篇,《PHP开发笔记系列(九)- 数组(一)》,记录PHP数组的相关操作。


??? 1. Php的数组定义

??? Php的数组类似于JAVA中Map的概念,数组中的元素有一个特殊的标识符来区分,称为键(Key),而每个键对应的就是值(Value)。因此一个键(Key)和值(Value)的组合组成数组中的一个元素。Php数组中的元素比较灵活,每个元素不必是同一种类型,例如可以是整型、字符串等。


??? 2. Php的数组赋值

???? Php的键可以是数值键(numerical),也可以是关联键(associative)。数值键与值没有真正关系,只是值在数组中的位置,而关联键则指向值。

?

$data[0] = '1st value'; $data[1] = '2nd value'; $data[2] = '3rd value';$data['1st'] = '1st value'; $data['2nd'] = '2nd value'; $data['3rd'] = '3rd value';echo $data[0];echo $data['3rd'];
登入後複製

?

??? 3. Php的多维数组

???? Php的数组可以签到,形成多维数组。可以通过以下方式定义:

$data['school1']['grade1'] = 'grade 1'; $data['school1']['grade2'] = 'grade 2';$data['school1']['grade3'] = 'grade 3';echo $data['school1']['grate1'];
登入後複製

?

??? 4. 创建数组

??? 除了使用上面的方式创建数组外,还可以通过构造函数array()进行数组创建,如下:

// 创建空数组$data = array();// 创建数值键非空数组$numeric_data = array('1st value', '2nd value', '3rd value');// 创建关联键非空数组$map_data = array('1st'=>'1st value', '2nd'=>'2nd value', '3rd'=>'3rd value');// 创建数组$multi_map_data = array(					's1'=>array('g1'=>'grade1', 'g2'=>'grade2'), 					's2'=>array('g3'=>'grade3', 'g4'=>'grade4')				  );
登入後複製

?

??? 5. 使用list()提取数组

??? list()函数与array()类似,但它可以在一次操作中从一个数组内提取多个值,同时为多个变量赋值。从数据库或文件中提取信息时,这种构造特别有用。


??? 例如,一个文件school.txt,需要从该文件读取信息,文件的每一行都包含学习的名称、年级、班级、学生姓名等信息,每一项使用“,”进行分割,如

file:array-list.txtSchool1,grade1,class1,jackSchool1,grade1,class2,dannySchool1,grade2,class1,mikeSchool1,grade2,class2,lilySchool2,grade1,class1,dickSchool2,grade1,class2,marySchool2,grade2,class1,johnySchool2,grade2,class2,smart... ...
登入後複製
?

?

??? 可以通过一个简单的循环使用list()来读取每一行,将各部分数据赋给变量,按照需要格式化并输出数据,代码如下:

?

file: array-list.phpurl: http://localhost:88/array/array-list.php<?php        $fp = fopen('school.txt', 'r');        while ($line = fgets($fp, 1024)) {        list($school, $grade, $class, $student) = explode(',', $line);                echo 'School: '.$school.' | ';        echo 'Grade: '.$grade.' | ';        echo 'Class: '.$class.' | ';        echo 'Student: '.$student.'<br/>';    }        fclose($fp);?>
登入後複製
?

??? 6. 测试变量是否为数组

??? 使用数组时,有时候需要使用某个特定变量是否为一个数组。内置函数is_array()可以判断变量是否为数组,如果是返回TRUE,否则返回FALSE。

?

file: is_array.phpurl: http://localhost:88/array/is_array.php<?php    $arr = 1;    $arr1 = array();    $arr2 = array('id'=>1);        echo is_array($arr) ? 'TRUE' : 'FALSE';    echo '<br/>';    echo is_array($arr1) ? 'TRUE' : 'FALSE';    echo '<br/>';    echo is_array($arr2) ? 'TRUE' : 'FALSE';    echo '<br/>';    ?>
登入後複製

?

??? 7. 输出数组

??? 输出数组的方式很多,可以使用foreach、for、while等进行数组元素遍历,代码如下:

file: output-array.phpurl: http://localhost:88/array/output-array.php<?php        $data[0] = '1st value';     $data[1] = '2nd value';     $data[2] = '3rd value';        foreach ($data as $d) {        echo $d.'<br/>';    }        echo '======================'.'<br/>';        $i = 0;    while ($i < count($data)) {        echo $data[$i].'<br/>';        $i++;    }        echo '======================'.'<br/>';        for ($i = 0; $i < count($data); $i++) {        echo $data[$i].'<br/>';    }        echo '======================'.'<br/>';        $map['1st'] = '1st value';     $map['2nd'] = '2nd value';     $map['3rd'] = '3rd value';        foreach ($map as $key => $value) {        echo $key.':'.$value.'<br/>';    }    ?>
登入後複製

?

??? 今天先写到这,改天继续。


?? 本文地址:http://ryan-d.iteye.com/blog/1566123

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
使用C#中的Array.Sort函數對陣列進行排序 使用C#中的Array.Sort函數對陣列進行排序 Nov 18, 2023 am 10:37 AM

標題:C#中使用Array.Sort函數對陣列進行排序的範例正文:在C#中,陣列是一種常用的資料結構,經常需要對陣列進行排序運算。 C#提供了Array類,其中有Sort方法可以方便地對陣列進行排序。本文將示範如何使用C#中的Array.Sort函數對陣列進行排序,並提供具體的程式碼範例。首先,我們要先了解Array.Sort函數的基本用法。 Array.So

五個精選的Go語言開源項目,帶你探索科技世界 五個精選的Go語言開源項目,帶你探索科技世界 Jan 30, 2024 am 09:08 AM

在現今科技快速發展的時代,程式語言也如雨後春筍般湧現。其中一門備受矚目的語言就是Go語言,它以其簡潔、高效、並發安全等特性受到了許多開發者的喜愛。 Go語言以其強大的生態系統而著稱,其中有許多優秀的開源專案。本文將介紹五個精選的Go語言開源項目,帶領讀者一起探索Go語言開源專案的世界。 KubernetesKubernetes是一個開源的容器編排引擎,用於自

Laravel開發:如何使用Laravel Echo和Pusher實現WebSockets通訊? Laravel開發:如何使用Laravel Echo和Pusher實現WebSockets通訊? Jun 13, 2023 pm 05:01 PM

Laravel是一個流行的PHP框架,具有高度可擴展性和高效性,它提供了許多強大的工具和程式庫,讓開發者可以快速建立高品質的網路應用程式。其中,LaravelEcho和Pusher是兩個非常重要的工具,透過它們可以輕鬆實現WebSockets通信,本文將詳細介紹如何在Laravel應用程式中使用這兩個工具。什麼是WebSockets? WebSockets

市面上最流行的golang框架有哪些? 市面上最流行的golang框架有哪些? Jun 01, 2024 pm 08:05 PM

目前最受歡迎的Go框架有:Gin:輕量級、高效能的Web框架,簡潔易用。 Echo:快速、高度可自訂的網路框架,提供高效能路由和中介軟體。 GorillaMux:快速、靈活的多工器,提供進階路由設定選項。 Fiber:效能最佳化的高效能Web框架,處理高並發請求。 Martini:物件導向設計的模組化網路框架,提供豐富的功能集。

簡單明了的PHP array_merge_recursive()函式使用方法 簡單明了的PHP array_merge_recursive()函式使用方法 Jun 27, 2023 pm 01:48 PM

在進行PHP編程時,我們常常需要將數組合併。 PHP提供了array_merge()函數來完成數組合併的工作,但是當數組中存在相同的鍵時,函數會覆寫原來的值。為了解決這個問題,PHP在語言中還提供了一個array_merge_recursive()函數,該函數可以合併數組並保留相同鍵的值,使得程式的設計變得更加靈活。 array_merge

PHP中echo關鍵字的作用與使用方法詳解 PHP中echo關鍵字的作用與使用方法詳解 Jun 28, 2023 pm 08:12 PM

PHP中echo關鍵字的作用和使用方法詳解PHP是一種廣泛使用的伺服器端腳本語言,它在網頁開發中被廣泛應用。而echo關鍵字是在PHP中用來輸出內容的一種方法。本文將詳細介紹echo關鍵字的作用與使用方法。作用:echo關鍵字的主要作用是將內容輸出到瀏覽器。在網頁開發中,我們需要將資料動態地呈現到前端頁面上,這時就可以使用echo關鍵字將資料輸出到頁面上。 e

如何使用PHP中的array_combine函數將兩個陣列拼成關聯數組 如何使用PHP中的array_combine函數將兩個陣列拼成關聯數組 Jun 26, 2023 pm 01:41 PM

在PHP中,有許多強大的陣列函數可以讓陣列的操作更加方便和快速。當我們需要將兩個陣列拼成一個關聯數組時,可以使用PHP的array_combine函數來實現這一操作。這個函數其實是用來將一個陣列的鍵當作另一個陣列的值,合併成一個新的關聯數組。接下來,我們將會講解如何使用PHP中的array_combine函數將兩個陣列拼成關聯數組。了解array_comb

Go語言開發必備:5個熱門框架推薦 Go語言開發必備:5個熱門框架推薦 Mar 24, 2024 pm 01:15 PM

《Go語言開發必備:5個熱門框架推薦》Go語言作為一門快速、高效的程式語言,受到越來越多開發者的青睞。為了提高開發效率,優化程式碼結構,許多開發者選擇使用框架來快速建立應用。在Go語言的世界中,有許多優秀的框架可供選擇。本文將介紹5個熱門的Go語言框架,並提供具體的程式碼範例,幫助讀者更好地理解和使用這些框架。 1.GinGin是一個輕量級的Web框架,擁有快速

See all articles