PHP語言基礎知識(超詳細)第二節

二十七. 數組的遍歷

1)通過函數進行遍歷:(例:demo07

(此方式不能完全遍歷數組,需要借助其他功能輔助)(不推薦,了解即可)

key():返回數組中當前指針所在位置的鍵。

current():返回數組中當前指針所在位置的值。

例如:demo07:

<?php/*key():返回數組中當前指針所在位置的鍵。current():返回數組中當前指針所在位置的值。*/$city = array("云南"=>"昆明","四川"=>"成都","貴州"=>"貴陽");//$key = key($city);//echo $key;   		// 此時只能獲取第一個key//$value = current($city);//echo $value;   	// 此時只能獲取第一個value// 1.借助while循環完成遍歷所有的key// 只要里面有key值,就一直循環。直到最后一個key/*while($key = key($city)){  echo $key; next($city);  // 每次輸出后,指針向下移動一位。}*/// 2.借助while循環完成遍歷所有的value/*while($value = current($city)){ echo $value; next($city);  // 每次輸出后,指針向下移動一位。}*/
?>

2)foreach遍歷與for遍歷(推薦使用此兩種方法) (例:demo08

例如:demo08:

<?php$city = array("云南"=>"昆明","四川"=>"成都","貴州"=>"貴陽");// 1.foreach遍歷/*foreach($city as $k=>$v){		echo($k."--".$v."<br/>");}*/// 2.for遍歷二維數組$city2 = array(array("昆明","麗江","澄江"),array("成都","綿陽","內江"),array("貴陽","遵義","六盤水"));for($i=0; $i<count($city2); $i++){print_r($city2[$i]);echo "<br/>";}
?>

二十八. 數組相關的函數 (例:demo09

1)count() / sizeof() 返回數組的元素個數。

2)array_count_values() 返回數組,里面統計每個值的出現次數。

3)array_unique() 刪除數組中所有重復的值,返回一個由唯一值組成的數組。

4)補充:count(數組名, [0,1])  如果是0,就默認統計。如果是1,遞歸統計。

例如:demo09:

<?php$city = array("昆明","成都","貴陽","昆明","成都","成都","成都","成都","成都","成都");//1.count() / sizeof() 返回數組的元素個數。//echo count($city);//echo sizeof($city);// 2.array_count_values() 返回數組,里面統計每個值的出現次數//$arr = array_count_values($city);//print_r($arr);// 3.array_unique() 刪除數組中所有重復的值,返回一個由唯一值組成的數組//print_r(array_unique($city));// 4.count(數組名, [0,1])  如果是0,就默認統計。如果是1,遞歸統計。//$city2 = array("昆明",array("成都","宜賓","樂山"),"貴陽");//echo count($city2, 0); // 3/*$city2 = array("北京",array("昆明","麗江","澄江"),array("成都","綿陽","內江"),array("貴陽","遵義","六盤水"),"上海");*///echo count($city2 ,1);  // 14?>

二十九. 數組的排序 (例:demo10

1)array_reverse(數組名, [true]) :將數組的元素倒敘排列。默認是false,如果是true表示綁定默認的鍵,默認的鍵和值一起倒敘排列。

2)array_flip() 置換數組中鍵與值的角色。

3)sort(數組名, 分類編碼) 對數組中各元素的值按照由低到高的順序排列。

分類編碼如下:

0:默認,按照標準的ASCII編碼順序。(默認不寫)

1:按照數字順序。

2:按照字符串順序。

3:按照當前區域的字符串順序。

4:按照字符串的自然排序。

5:按照字符串順序,不區分大小寫。

例如:demo10:

<?php$names = array("C"=>"Cindy","A"=>"Ada","P"=>"Panny","Z"=>"Zeely","J"=>"Jackie");print_r($names);echo "<br/>";//1.array_reverse() 將數組的元素倒敘排列。print_r(array_reverse($names));echo "<br/>";//print_r(array_reverse($names ,false)); // 默認的鍵和值一起倒敘排列// 2.array_flip() 置換數組中鍵與值的角色。print_r(array_flip($names));	// 3.sort(數組名, 分類編碼) 對數組中各元素的值按照由低到高的順序排列。sort($names);    //默認排序print_r($names);echo "<br/>";print_r(array_reverse($names));  // 默認排序后,再倒敘排列	$num = array(4,99,12,6,36,90,109,10010);sort($num);print_r($num);echo "<br/>";sort($num,2);print_r($num);
?>

三十. 數組的合并、接合、截取 (例:demo11

1)array_merge(數組1,數組2,......) :合并數組,如果鍵重名,會覆蓋掉前面的數組。

2)array_merge_recursive(數組1,數組2,......) :合并數組,如果鍵重名,會把兩個值合并在一起,形成一個新的數組,并以原有的鍵作為組名。

3)array_combine(一組keys,一組values),把提交的一組鍵和一組值接合成一個新的數組。

4)array_slice(數組名,start,[長度] ),從某一個索引開始截取數組的一部分,得到一個新的數組。

例如:demo11:

<?php//$names = array("yw"=>"語文","sx"=>"數學","yy"=>"英語");//$address = array("km"=>"昆明","dl"=>"大理","yw"=>"義烏","yy"=>"音樂");// 1.array_merge() :合并數組,如果鍵重名,會覆蓋掉前面的元素。//print_r(array_merge($names,$address));//echo "<br/>";// 2.array_merge_recursive() :合并數組,// 如果鍵重名,會把兩個值合并在一起,形成一個新的數組,并以原有的鍵作為組名//print_r(array_merge_recursive($names,$address));//echo "<br/>";// 3.array_combine(),把提交的一組鍵和一組值接合成一個新的數組$subject = array("語文","數學","英語");$score = array(126,145,30);print_r(array_combine($subject,$score));// 4.array_slice(數組名,start,[長度] )// 從某一個索引開始截取數組的一部分,得到一個新的數組$subject = array("語文","數學","英語","物理","化學","生物");//$newArr = array_slice($subject,2);  // 從索引2開始截取$newArr = array_slice($subject,2, 3);  // 從索引2開始截取,長度是3print_r($newArr);
?>

三十一. 類與對象:(例:demo01.php)

PHP中的類,表示在程序中處理的實際事物。類中可以定義字段(變量)和方法,這些變量和方法屬于類的成員,也稱為成員變量和成員方法。他們可以通過訪問修飾符來設置其作用域,如:private和protected等。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/914626.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/914626.shtml
英文地址,請注明出處:http://en.pswp.cn/news/914626.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡--OSPF實驗

目錄 OSPF實驗報告 一、實驗拓撲 二、實驗要求 三、實驗思路 1.IP地址劃分 2. OSPF 部署 3. 其它配置 4. 驗證測試 四、實驗步驟 1.IP 地址配置 2.OSPF 部署 3.其它配置 4.驗證測試 OSPF實驗報告 一、實驗拓撲 二、實驗要求 1、R1-R3為區域0&#xff0c;R3-R4為…

Go語言第一個程序--hello world!

文章目錄一、Go 語言程序安裝二、運行程序三、go mod tidy 命令四、遇到的問題五、VS Code 調試 go 程序的相關配置說明一、Go 語言程序安裝 Go語言下載鏈接&#xff1a;https://studygolang.com/dl 雙擊打開下一步下一步即可。 驗證安裝&#xff1a;go version 二、運行程序 創…

【MCU控制 初級手札】1.1 電阻

作者&#xff1a;電控工程手札 本博文內容著作權歸作者所有&#xff0c;轉載請務必保留本文鏈接 目錄1. 定義2. 電導3. 電阻率4. 電導率5. 伏安特性6. 開路與短路7. 功率8. 應用元件特性&#xff08;端子特性&#xff09;&#xff1a;元件的兩個端子的電路物理量之間的代數函數…

JS中async/await功能介紹和使用演示

JS 中 async/await 功能介紹與使用演示 一、功能介紹基本概念 async&#xff1a;用于聲明異步函數&#xff0c;返回一個 Promise 對象。即使函數內沒有顯式返回 Promise&#xff0c;也會隱式將返回值封裝為 Promise.resolve()。await&#xff1a;僅能在 async 函數內部使用&…

系統調用入口機制:多架構對比理解(以 ARM64 為主)

&#x1f4d6; 推薦閱讀&#xff1a;《Yocto項目實戰教程:高效定制嵌入式Linux系統》 &#x1f3a5; 更多學習視頻請關注 B 站&#xff1a;嵌入式Jerry 系統調用入口機制&#xff1a;多架構對比理解&#xff08;以 ARM64 為主&#xff09; 本篇內容聚焦于系統調用的入口實現機…

java MultipartFile初始化

在Java中&#xff0c;MultipartFile 是Spring框架中用于處理文件上傳的接口。?開發者通常不會直接初始化MultipartFile對象&#xff0c;而是通過Spring MVC的控制器方法參數接收上傳的文件。如果需要在測試或模擬場景中創建其實例&#xff0c;可以使用Spring的MockMultipartFi…

Linux C IO多路復用

在上一節利用管道實現了一個簡單的聊天室&#xff0c;但這個聊天室有一個很明顯的問題就是&#xff0c;當A處于讀阻塞情況下是不能向B發送消息的&#xff0c;只有收到B的消息才能發送。如何實現同時既能接受B的消息&#xff0c;又能向其發送消息&#xff1f;很遺憾&#xff0c;…

day21——特殊文件:XML、Properties、以及日志框架

文章目錄一、特殊文件概述二、Properties屬性文件2.1 文件特點2.2 Properties類解析2.3 寫入屬性文件三、XML文件詳解3.1 XML核心特性3.2 XML解析&#xff08;Dom4J&#xff09;3.3 XML寫入3.4 XML約束&#xff08;了解&#xff09;四、日志技術&#xff08;Logback&#xff09…

經典VB與現代VB(VB.NET)

Visual Basic&#xff08;VB&#xff09;目前其發展狀態可以分為經典VB&#xff08;VB6及之前&#xff09;?和現代VB&#xff08;VB.NET&#xff09;?兩個階段。經典VB誕生于1991年&#xff0c;憑借?“快速開發&#xff08;Rapid Application Development, RAD&#xff09;”…

iOS UI視圖面試相關

iOS UI視圖面試相關 UITableVIew相關 重用機制 cell [tableView dequeueReusableCellWillIdentifier:identifer];其中A2、A3、A4、A5是完全顯示在屏幕&#xff0c;A2、A6顯示部分&#xff0c;A1和A7不在顯示范圍內&#xff0c;假如現在是從下滑時的結果&#xff0c;在A1消失時…

網絡編程-tcp連接:服務器與客戶端

使用服務器和客戶端的代碼&#xff0c;實現服務器和客戶端的互相聊天功能 實現兩臺電腦之間互相聊天 方案一&#xff1a;服務器代碼&#xff08;server.c&#xff09;#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h>…

跨平臺移動開發技術深度分析:uni-app、React Native與Flutter的遷移成本、性能、場景與前景

1. 引言 跨平臺移動開發技術已成為提升開發效率、降低成本的戰略性選擇。uni-app、React Native&#xff08;RN&#xff09;和Flutter作為主流方案&#xff0c;在遷移成本、應用性能、適用場景及未來發展上呈現顯著差異。本報告基于最新行業數據與技術演進&#xff08;2025年&…

詳解低速容錯CAN(附與高速CAN對比表)

文章目錄前言一、低速容錯CAN-低速二、低速容錯CAN-容錯2.1 信號電平2.2 終端電阻2.3 容錯機制前言 在ISO 11898-3 Low-speed, fault-tolerant, medium-dependent interface部分描述了低速CAN的容錯行為及其物理層內容。既然稱為低速容錯CAN&#xff0c;主要需要搞清楚的兩個核…

維基框架發布 1.0.11 至中央倉,深化國產化 DevOps 生態整合

一、核心事件&#xff1a;維基框架 1.0.11 正式入駐中央倉庫? ?維基框架&#xff08;Wiki-Framework&#xff09;?? 作為國產全場景 Java 企業級開發框架&#xff0c;于 7 月 9 日正式發布 ?v1.0.11 版本? 至中央軟件倉庫&#xff08;Maven Central&#xff09;&#xf…

vscode 打開c++文件注釋亂碼

之前一直都主要用vscode編輯lua和python腳本語言&#xff0c;沒怎么編輯過c文件&#xff0c;今天想打開一個文件看一個東西&#xff0c;但是注釋全部亂碼了&#xff0c;我也知道是文件編碼的問題&#xff0c;但沒找到修改編碼格式的地方&#xff0c;好了廢話不多說&#xff0c;…

波動回升正當時!期權合成多頭:震蕩市攻守兼備利器

上周&#xff0c;A股喜提關鍵突破&#xff01;上證指數自21年初以來首次穩穩站上3500點大關&#xff0c;市場整體震蕩上行。尐程序&#xff1a;期權匯不過&#xff0c;熱鬧之下也藏有隱憂&#xff1a;雖然日均成交維持在1.4萬億加&#xff0c;但周五放量沖高&#xff08;成交達…

Python 基礎(十四): 錯誤和異常

目錄 1 錯誤2 異常 2.1 內置異常2.2 異常處理2.3 拋出異常2.4 自定義異常 程序中的錯誤我們通常稱為 bug &#xff0c;工作中我們不僅需要改自己程序中的 bug &#xff0c;還需要改別人程序中的 bug &#xff0c;新項目有 bug 要改&#xff0c;老項目也有 bug 要改&#xff…

OpenCV-Python Tutorial : A Candy from Official Main Page(三)

3.11傅立葉變換3.11.1Fourier Transform in OpenCV-cv.dft、cv.magnitude、cv.idft這兩個函數是圖像頻域處理&#xff08;如去噪、邊緣增強、紋理分析&#xff09;的基礎工具。1.cv.dft() —— 離散傅里葉變換功能&#xff1a; 將圖像從空間域&#xff08;像素強度&#xff09;…

移動端字體適配

一、移動端圖片適配1、使用 <img> 的 srcset<img src"logo.png"srcset"logo2x.png 2x,logo3x.png 3x"alt"Logo">優點&#xff1a;原生支持&#xff0c;瀏覽器自動選擇最合適的圖片。2、使用媒體查詢切換背景圖.logo {background-ima…

git起步

git官網&#xff1a;https://git-scm.com git使用手冊&#xff1a;https://git-scm.com/book/zh/v2 一、Git 是什么&#xff1f; 1、版本控制 版本控制是一種記錄一個或若干文件內容變化&#xff0c;以便將來查閱特定版本修訂情況的系統。我們經常是用的是保存軟件源代碼的…