PHP foreach循环使用详解与实例代码
在PHP中的foreach是用来进行循环对一个数组的所有元素。
foreach基本语法如下:
FOREACH ($array_variable as $value)
{
[code to execute]
}
or
FOREACH ($array_variable as $key => $value)
{
[code to execute]
}
在这两种情况下,多次[代码执行]将被处死是等于在$ array_variable数组元素的个数。
让我们来看一个例子。假设我们有下面的代码段:
代码如下:
$array1 = array(1,2,3,4,5);
FOREACH ($array1 as $abc)
{
print "new value is " . $abc*10 . "
";
}
输出结果
new value is 10
new value is 20
new value is 30
new value is 40
new value is 50
foreach循环以上经历了所有5个元素的数组$ array1,每次打印出一份声明中含有10倍的数组元素的值。
foreach作用是遍历当前数组的所有值出来并且赋给$var
官方给出的实例代码:
代码如下:
/* foreach example 1: value only */
$a = array(1, 2, 3, 17);
foreach ($a as $v) {
echo "Current value of \$a: $v.\n";
}
/* foreach example 2: value (with key printed for illustration) */
$a = array(1, 2, 3, 17);
$i = 0; /* for illustrative purposes only */
foreach ($a as $v) {
echo "\$a[$i] => $v.\n";
$i++;
}
/* foreach example 3: key and value */
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach ($a as $k => $v) {
echo "\$a[$k] => $v.\n";
}
/* foreach example 4: multi-dimensional arrays */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2\n";
}
}
/* foreach example 5: dynamic arrays */
foreach (array(1, 2, 3, 4, 5) as $v) {
echo "$v\n";
}
?>
再来看一个foreach 对多维数据操作实例
代码如下:
$s = array(array(1,2),array(3,4),array(5,6));
foreach( $s as $v => $_v )
{
foreach( $_v as $vc => $_vc )
{
echo $_vc[0],'|'.$_vc[1],'
';
//print_r($_vc);
}
}
先来看一下foreach的语法:
代码如下:
foreach ($array as $key=>$value)
{
……
}
为了便于理解,我们假定这里的$array是一个一维的相关数组,$key是数组的索引,$value是这个索引的值,它们的名字可以随意,之所以叫$key和$value是为了便于理解。为了能让你更好的理解foreach的工作过程,我们来创建一个数组:
$array = array('first'=>'ibm','second'=>'hp');
现在我们模拟PHP服务用foreach对$array进行遍历:
代码如下:
foreach ($array as $key=>$value)
{
echo $key.'=>'.$value;
}
第一次循环,$key = 'first',$value = 'ibm',这个时候,实际foreach对$array执行了一个我们看不见的操作:next($array),将数组指针向前(这里的“向前”跟PHP手册相同,不是我们通常所理解的“向前”)移一。然后echo语句输出"first=>ibm"。
第二次循环,首先会判断数组$array的当前指针是否已经到了数组的末尾,如果是,结束循环,否则进入第二次循环。当然这样的判断在进入第一次循环的时候也会有,如果$array是一个空数组,那么就会直接执行循环下面的语句。此时,$key = 'second','value' = 'hp',next($array)后,输出"second=>hp"。然后进行判断,数组指针已经到达末尾,执行下面的语句。
到这里你应该对foreach循环有所了解了吧?还有一点需要的是,foreach每次只是传递一个值,而不是真的对数组元素进行操作。具体到上面的例子,如果你想在每个数组元素的后面加上 'company' 这个字符串,那么$value .= 'company'这样的操作是不行的,它并不会改变数组元素的值,这个时候你应该这样用:$array[$key] .= 'company';
更多可以参考:

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다
