Maison développement back-end tutoriel php PHP循环组合数组和list的使用

PHP循环组合数组和list的使用

Jun 13, 2016 pm 01:03 PM
arr array gt lt

PHP循环结合数组和list的使用

foreach的使用:
1.用法1

??$arr=array("张三" ,"李四" ,"王五" ,"马六" );
??foreach ($arr as $value)
??echo $value.'
';
?>


2.用法2

$arr=array('chinese'=>130,'math'=>140,'english'=>135,'computer'=>130);
foreach($arr as $key=>$value)
echo $key.':'.$value.'
';
?>


3.按拷贝还是引用
默认按拷贝,和函数很相似:

????$arr=array(1,2,3,4);
????foreach($arr as $value)
????$value*=2;//其实改变的是副本对原数组没有影响
????print_r($arr);//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
?>


但是可以改成引用方式,通过&符号:

????$arr=array(1,2,3,4);
????foreach ($arr as &$value)
????$value*=2;
????print_r($arr);//Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
?>

4.for循环

$arr=array(1,2,3,4,5);
for ($i=0;$i echo $arr[$i].'
';
?>


5.each/list

each用法,每次取出个4元素数组,其中0,key对应键;1,value对应值:

$arr = array("张三" , "李四" , "王五" );
$bar = each($arr);
print_r($bar);//Array ( [1] => 张三 [value] => 张三 [0] => 0 [key] => 0 )
?>


list的用法:

$arr = array("张三" , "李四" , "王五" );
list($a[0], $a[1], $a[2]) = $arr;
print_r($a);//Array ( [2] => 王五 [1] => 李四 [0] => 张三 )
?>


list结合each使用:

$arr = array("张三" =>20, "李四" =>29, "王五" =>23);
while (list($key, $value) = each($arr))
echo "$key=>$value" .'
';
?>


注意while (list($key, $value) = each($arr))中each得到的4元素数组中有2个数字索引分别赋给list中2个变量。
所以

$arr = array("张三" ,'b'=>"李四" , "王五" );
list($a[0], $a[1]) = $arr;
print_r($a);//Array ( [1] => 王五 [0] => 张三 )
?>


6.多维数组

$a = array();
$a['山东'][0] = "济南" ;
$a['山东'][1] = "威海" ;
$a['黑龙江'][0] = "哈尔滨" ;
$a['黑龙江'][1] = "齐齐哈尔" ;

foreach ($a as $key1=>$v1) {
??echo "$key1" .'
';
????????foreach ($v1 as $v2) {
????????????????echo "$v2 \n" ;
????????}
????????echo '
';
}
?>


7.数组函数

key取键值

$arr = array(
????????'张三' => '济南',
????????'李四' => '烟台',
????????'王五' => '威海',
????????'赵六' => '北京',
????????);

while ($person = current($arr)) {
????????if ($person == '威海') {
????????????????echo key($arr).'
';
????????}
????????next($arr);
}
?>

上面会得到 '王五',但是如果烟台为 ""空串,则程序执行到这里会跳出循环,空串转成false。

用for实现foreach效果:

$arr = array(
????????'百度' => 'http://www.baidu.com',
????????'谷歌' => 'http://www.google.com.hk',
????????'400电话' => 'http://www.my400800.cn',
????????'bing' => 'http://cn.bing.com',
????????);

for (reset($arr);$key=key($arr);next($arr))
echo $key.'
';
?>


这个问题同上,如果某个键值计算为false也会跳出循环。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelles sont les différences entre Huawei GT3 Pro et GT4 ? Quelles sont les différences entre Huawei GT3 Pro et GT4 ? Dec 29, 2023 pm 02:27 PM

Quelles sont les différences entre Huawei GT3 Pro et GT4 ?

Correctif : l'outil de capture ne fonctionne pas sous Windows 11 Correctif : l'outil de capture ne fonctionne pas sous Windows 11 Aug 24, 2023 am 09:48 AM

Correctif : l'outil de capture ne fonctionne pas sous Windows 11

Comment réparer l'erreur Impossible de se connecter à l'App Store sur iPhone Comment réparer l'erreur Impossible de se connecter à l'App Store sur iPhone Jul 29, 2023 am 08:22 AM

Comment réparer l'erreur Impossible de se connecter à l'App Store sur iPhone

Trier le tableau à l'aide de la fonction Array.Sort en C# Trier le tableau à l'aide de la fonction Array.Sort en C# Nov 18, 2023 am 10:37 AM

Trier le tableau à l'aide de la fonction Array.Sort en C#

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

Méthode simple et claire pour utiliser la fonction PHP array_merge_recursive() Méthode simple et claire pour utiliser la fonction PHP array_merge_recursive() Jun 27, 2023 pm 01:48 PM

Méthode simple et claire pour utiliser la fonction PHP array_merge_recursive()

Comment utiliser la fonction array_combine en PHP pour combiner deux tableaux en un tableau associatif Comment utiliser la fonction array_combine en PHP pour combiner deux tableaux en un tableau associatif Jun 26, 2023 pm 01:41 PM

Comment utiliser la fonction array_combine en PHP pour combiner deux tableaux en un tableau associatif

Explication détaillée de l'utilisation de la fonction PHP array_fill() Explication détaillée de l'utilisation de la fonction PHP array_fill() Jun 27, 2023 am 08:42 AM

Explication détaillée de l'utilisation de la fonction PHP array_fill()

See all articles