suchen
HeimBackend-EntwicklungPHP-Tutorialphp数组的遍历讲解 for foreach list each key_PHP教程

php数组的遍历讲解 for foreach list each key_PHP教程

Jul 14, 2016 am 10:11 AM
forforeachkeylistphpGastgeber数组von讲解遍历

php数组的遍历讲解

本文主要讲解for,foreach,list,each,key,指针操作相关函数,array_flip ,array_reverse,array_walks等函数的对数组的遍历

1.for循环遍历数组

for循环是几乎所有语言都可以用的一种遍历数组的方式,但是在php语言中for循环不是遍历数组的首选

一下是for循环实现数组遍历的示例代码

/*

Designed By Androidyue

php中数组的遍历讲解*/

//for 循环遍历数组

//声明一个数组并且初始化

$array=array('Google','Chrome','Android','Youtube','Gmail');

//使用for循环遍历各数组元素,count()用来计算数组的长度

for($i=0;$i

//打印数组的元素的值

echo $array[$i],"
";

}

?>

注意:使用for遍历数组存在以下限制:

a  所遍历的数组必须是索引数组(即下标为数字的数组),不能是关联数组(下标为字符串的数组)

如下列代码

$arrGoogle=array('brand'=>'google','email'=>'Gmail','WebBrowser'=>'Chrome','phone'=>'Android');

for($i=1;$i

echo $arrGoogle[$i];

}

?>

在运行时会报错,类似于这样的错误Notice: Undefined offset: 1 in D:/phpnow/htdocs/holiday/php_array_visit_summary.php on line 13这说明for不适合用于关联数组的遍历

b,for遍历的数组既要满足是索引数组,同时下标又要是连续的整数,如果不是连续的整数则会发生提示

如下列代码

$array=array(1=>'Google',5=>'Chrome',7=>'Android',9=>'Youtube',12=>'Gmail');

//print_r($array);

 

for($i=0;$i

echo $array[$i],"
";

}

?>

这种情况下也会发生提示类似于Notice: Undefined offset: 2 in D:/phpnow/htdocs/holiday/php_array_visit_summary.php on line 10 因此for循环遍历数组必须是索引数组而且下标必须是连续的。

2.foreach遍历数组

foreach可以说是php语言单独为遍历数组提供的一种方法(其他语言也可能有),这种遍历方法是php遍历数组的首选

foreach遍历时可以是这样的foreach($array as $key=>$value)包含键值元素  也可以是foreach($array as $value)只包含值

foreach($array as $value)示例代码

/*

Designed By Androidyue

php中数组的遍历讲解*/

//foreach实现遍历数组

$arrGoogle=array('brand'=>'google','email'=>'Gmail','WebBrowser'=>'Chrome','phone'=>'Android');

//只包含值

foreach($arrGoogle as $value){

echo $value.'
';

}

?>

foreach($array as $key=>$value)的代码示例

$arrGoogle=array('brand'=>'google','email'=>'Gmail','WebBrowser'=>'Chrome','phone'=>'Android');

foreach($arrGoogle as $key=>$value){

echo '第',($key+1),'个数组元素的值是',$value,'
';

}

?>

注意以上的$value和$key都是自定义的变量,因此可以根据需要更改成符合自己风格的命名方式

3.使用list函数遍历数组

list()函数是将数组中的值赋给变量 

标准语法:void list ( mixed varname, mixed ... )

用list实现对数组的遍历代码

//使用list遍历函数

//$arrGoogle=array('brand'=>'google','email'=>'Gmail','WebBrowser'=>'Chrome','phone'=>'Android');//使用关联数组不行

$arrGoogle=array('google','Gmail','Chrome','Android');

list($brand,$email,$webBrowser,$phone)=$arrGoogle;

echo $brand,$email,$webBrowser,$phone;

?>

注意:

a  list函数所接受的数组只能是索引数组,不能是关联数组!如果是关联数组,则会出现类似 Notice Undefined offset提示

b  如果只是部分取出数组的值,只需 按照这样的写法即可,list(,,$chrome,)=$arrGoogle;这样我们就可以去除chrome的信息,但是注意一定要保证list参数与数组的元素个数相同(所取值前面的个数)

c list函数赋值按索引顺序赋值

4.each函数遍历数组

each函数返回输入数组的键值对

标准语法:array each(array input array)

返回值:返回4个值0,1,key,value;其中0和key包含键名,而1和value包含相应的数据

使用each遍历数组的示例代码如下:

//使用each函数遍历数组

$arrGoogle=array('google','Gmail','Chrome','Android');

//第一次使用each取得当前键值对,并且将指针移到下一个位置

$arrG=each($arrGoogle);

//打印结果,并且换行以清晰显示结果

print_r($arrG);

print '
';

$arrGmail=each($arrGoogle);

print_r($arrGmail);

print '
';

$arrChrome=each($arrGoogle);

print_r($arrChrome);

print '
';

$arrAndroid=each($arrGoogle);

print_r($arrAndroid);

print '
';

//当指针位于数组末尾再次执行函数each,如果是这样再次执行结果返回false

$empty=each($arrGoogle);

//如果指针无法继续后移返回false

if($empty==false){

print '指针以位于数组末尾,无法在向后移,故返回false';

}

?>

注意:该函数的参数和返回值(在执行该函数前指针不位于数组末尾时)都为数组,在执行函数前数组指针位于数组末尾时再次执行该函数返回值为false

       开始的位置是第一个元素,每(正常)执行一次该函数,指针向后移到下一个地址

5.key()遍历数组

each是用来返回数组的键名

基本语法:mixed key ( array &array )

key函数遍历数组示例代码如下

//Designed By Androidyue

//使用key函数遍历数组

//初始化一个关联数组

$arrChina=array('a'=>'Hebei','b'=>'Anhui','c'=>'Beijing','d'=>'Guangdong','e'=>'Shanghai');

//初始化一个索引数组   但是索引数组使用key返回的是空字符产

$arrCN=array('Hebei','Anhui','Beijing','Guangdong','Shanghai');//key显示的是数组的字符串下标,如果为索引数组则为空字符串

//print_r($arrChina);

while($key=key($arrChina)){//对于关联数组使用key方法可以执行

echo $key,'
';

next($arrChina);

}

print_r($arrCN);//输出一下索引数组

while($keyName=key($arrCN)){//这里调用key函数赋值后为false,while条件不成立,不进行{}之间的操作

/*if(empty($keyName)){

print '该键名为空
';

}*/

/*if($keyName=''){

print '该键名为空
';

}*/

var_dump($keyName);

}

//验证对索引数组使用key函数的返回值赋值给变量这个表达式的布尔值

if(($KeyName=key($arrCN))==false){

print 'False';

}

//对索引数组调用key函数对变量赋值

$keyName=key($arrCN);

next($arrCN);//将数组指针向后移动一位

next($arrCN);

next($arrCN);

next($arrCN);

next($arrCN);

$keyName=key($arrCN);

var_dump($keyName);//输出值和类型类型信息

//echo $keyName;

?>

注意:key函数的参数一般为关联数组,如果为索引数组那么就没有什么意义了

key函数不会推进指针移动,这里我们调用了next函数,next函数用来推进指针向后移动,下面就是next函数的介绍

6.使用对指针进行操作的函数遍历数组

a reset函数  用于将指针设置回数组的初始位置,如果需要在一个脚本中多次查看和处理一个数组,就可以使用这个函数,另外这个函数还常用于排序的结束

b.current() 函数

返回当前当前数组指针位置的值,该函数不对指针进行移动操作,需要注意这个特点

c end 将指针移到数组的最后位置,返回目标位置的值

d next 将指针向后移动一次并返回目标位置的数组值,如果当前位置为数组的最后位置,返回false

e prev 将指针向前移动一次,并返回目标位置的数组值,如果当前位置是数组起始位置,则返回false

//Designed By Androidyue

//reset方法的使用  注意以下代码调用了控制指针的函数,移动指针的操作会影响到each函数的结果

//初始化一个数组,为了简写代码,声明一个简单的数组

$arrGoogle=array('google','Gmail');

//调用each函数,并且输出返回数组 换行

echo(current($arrGoogle));//使用current函数,打印出当前的值

echo (next($arrGoogle));//调用next函数,打印下一个的值

$arrG=each($arrGoogle);

print_r($arrG);

print '
';

$arrGmail=each($arrGoogle);

print_r($arrGmail);

print '
';

$arrMore=each($arrGoogle);//当指针无法继续移动时返回false

//print_r($arrMore);

//echo $arrMore;

print '
';

//但是如果想继续输出使用重复上面的过程,那么使用reset函数将指针重置为开始位置,然后重复上面的的操作

reset($arrGoogle);

echo(end($arrGoogle));//调用end函数将指针移到数组最后一个位置,并返回值

echo(prev($arrGoogle));//调用prev函数将指针向前移动,并返回值

$arrG=each($arrGoogle);

print_r($arrG);

print '
';

$arrGmail=each($arrGoogle);

print_r($arrGmail);

print '
';

?>

7.array_reverse()

该函数是将目标数组元素逆置,如果设置preserver_key为true,则保持原先的映射,否则重置映射

该函数使用示例代码如下

$arrGoogle=array('Google','Gmail','Android','Chrome','Youtube');

echo '

';

print '进行操作之前的数组';

print_r($arrGoogle);

$arrReversed=array_reverse($arrGoogle);//不保留先前映射

print '未开启preserve_key 进行逆序操作后的结果';

print_r($arrReversed);

$arrReversedT=array_reverse($arrGoogle,1);//保留先前映射

print '开启preserver_key 进行逆序操作的结果';

print_r($arrReversedT);

echo'';

?>

8.array_flip()

该函数是将数组的键和值互换

下面是该函数的使用代码

//array_flip()函数的使用

//初始化一个索引数组

$arrGoogle=array('Google','Chrome');

//初始化一个关联数组

$arrSohu=array('son'=>'Sogou','child'=>'Chinaren','search'=>'Sogou');//如果存在值相同调用array_flip()函数会按照顺序将相同的值覆盖掉,如'son'=>'Sogou'和'search'=>'Sogou'值相同,使用array_flip()函数后,为[Sogou] => search

//对两个数组调用array_flip()函数进行操作并输出,都可以正常输出

print_r(array_flip($arrGoogle));

print '
$arrSogou未进行array_flip()函数操作之前的数组';

print_r($arrSohu);

print '
$arrSogou未进行array_flip()函数操作之后的数组';

print_r(array_flip($arrSohu));

?>

9.array_walk函数

boolean array_walk(array input_array,callback function[,mixed userdata])

array_walk()函数是将参数数组array_input中的每个元素传递给自定义的函数function 中,进行相关的操作,如果想真正修改array_input的键值对则需要将每个键值对作为引用传递给函数

自定义函数必须接受两个输入参数,第一个是数组的当前值,第二个是数组的当前键,,如果调用array_walk函数给出第三个值userdata,他的第三个值将作为第三个参数传递给自定义函数。

//Designed By Androidyue

//array_walk函数的使用

//初始化一个数组

$arrCorperate=array('移动','联通','电信');

/*

功能:一个拼接字符串的函数,将数组中的值和用户输入的参数(如果无参数输入拼接默认参数值)

参数:$value(自定义),存放数组中的值,$key存放数组中的键,$prefix可选参数,用户需要通过设置array_walk()的第三个参数给它赋值,如果用户无赋值,使用默认,或者根据需要取舍  

注意:如果用户使用了引用传值,那么数组的值要改变 

*/

function linkString(&$value,$key,$prefix='cn'){

$value=$prefix.$value;//函数体实现字符串拼接

}

array_walk($arrCorperate,'linkString');//使用array_walk()对该数组按照自定义函数操作

//array_walk($arrCorperate,'linkString','中国');//这里传第三个三处对自定义函数设置参数

print_r($arrCorperate)

?>

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477318.htmlTechArticlephp数组的遍历讲解 本文主要讲解for,foreach,list,each,key,指针操作相关函数,array_flip ,array_reverse,array_walks等函数的对数组的遍历 1.for循...
Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Der aktuelle Status von PHP: Ein Blick auf WebentwicklungstrendsDer aktuelle Status von PHP: Ein Blick auf WebentwicklungstrendsApr 13, 2025 am 12:20 AM

PHP bleibt in der modernen Webentwicklung wichtig, insbesondere in Content-Management- und E-Commerce-Plattformen. 1) PHP hat ein reichhaltiges Ökosystem und eine starke Rahmenunterstützung wie Laravel und Symfony. 2) Die Leistungsoptimierung kann durch OPCACHE und NGINX erreicht werden. 3) Php8.0 führt den JIT -Compiler ein, um die Leistung zu verbessern. 4) Cloud-native Anwendungen werden über Docker und Kubernetes bereitgestellt, um die Flexibilität und Skalierbarkeit zu verbessern.

Php gegen andere Sprachen: Ein VergleichPhp gegen andere Sprachen: Ein VergleichApr 13, 2025 am 12:19 AM

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP vs. Python: Kernmerkmale und FunktionenPHP vs. Python: Kernmerkmale und FunktionenApr 13, 2025 am 12:16 AM

PHP und Python haben jeweils ihre eigenen Vorteile und eignen sich für verschiedene Szenarien. 1.PHP ist für die Webentwicklung geeignet und bietet integrierte Webserver und reichhaltige Funktionsbibliotheken. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit prägnanter Syntax und einer leistungsstarken Standardbibliothek. Bei der Auswahl sollte anhand der Projektanforderungen festgelegt werden.

PHP: Eine Schlüsselsprache für die WebentwicklungPHP: Eine Schlüsselsprache für die WebentwicklungApr 13, 2025 am 12:08 AM

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

PHP: Die Grundlage vieler WebsitesPHP: Die Grundlage vieler WebsitesApr 13, 2025 am 12:07 AM

Die Gründe, warum PHP für viele Websites der bevorzugte Technologie -Stack ist, umfassen die Benutzerfreundlichkeit, die starke Unterstützung der Community und die weit verbreitete Verwendung. 1) Einfach zu erlernen und zu bedienen, geeignet für Anfänger. 2) eine riesige Entwicklergemeinschaft und eine reichhaltige Ressourcen haben. 3) in WordPress, Drupal und anderen Plattformen häufig verwendet. 4) Integrieren Sie eng in Webserver, um die Entwicklung der Entwicklung zu vereinfachen.

Jenseits des Hype: Beurteilung der Rolle von PHP heute heuteJenseits des Hype: Beurteilung der Rolle von PHP heute heuteApr 12, 2025 am 12:17 AM

PHP bleibt ein leistungsstarkes und weit verbreitetes Tool in der modernen Programmierung, insbesondere im Bereich der Webentwicklung. 1) PHP ist einfach zu bedienen und nahtlos in Datenbanken integriert und für viele Entwickler die erste Wahl. 2) Es unterstützt die Erzeugung der dynamischen Inhalte und die objektorientierte Programmierung, die für die schnelle Erstellung und Wartung von Websites geeignet sind. 3) Die Leistung von PHP kann verbessert werden, indem Datenbankabfragen zwischengespeichert und optimiert werden, und die umfangreiche Community und sein reiches Ökosystem machen es im heutigen Technologiestack immer noch wichtig.

Was sind schwache Referenzen in PHP und wann sind sie nützlich?Was sind schwache Referenzen in PHP und wann sind sie nützlich?Apr 12, 2025 am 12:13 AM

In PHP werden schwache Referenzen in der WeaPreference -Klasse implementiert und verhindern nicht, dass der Müllsammler Objekte zurückerobern. Schwache Referenzen eignen sich für Szenarien wie Caching -Systeme und Event -Hörer. Es ist zu beachten, dass es das Überleben von Objekten nicht garantieren kann und dass die Müllsammlung möglicherweise verzögert wird.

Erklären Sie die __invoke magische Methode in PHP.Erklären Sie die __invoke magische Methode in PHP.Apr 12, 2025 am 12:07 AM

Mit der \ _ \ _ -Invoke -Methode können Objekte wie Funktionen bezeichnet werden. 1. Definieren Sie die Methode \ _ \ _, damit das Objekt aufgerufen werden kann. 2. Bei Verwendung der Syntax $ OBJ (...) wird PHP die Methode \ _ \ _ aufrufen. 3.. Geeignet für Szenarien wie Protokollierung und Taschenrechner, Verbesserung der Codeflexibilität und Lesbarkeit.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools