PHP开发札记系列(九)- 数组(一)
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

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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