phpforeach
A. php foreach 數組賦值
<?php
//代碼本地已運行過
$arr=array(1,2,2,4);
$uniq_arr
=
array_unique($arr);//第一步先去重,取得最外部需要循環的數組
$i
=
0;
foreach($uniq_arr
as
$key=>$val){//循環去重後的數組
foreach($arr
as
$k=>$v){//循環原生數組
if($key
!=
$k){//判斷兩次的key是否相等,array_unique,去重後的數組key是不變的
if($val
==
$v){
if(is_array($new_arr[$i])){//判斷是否已經是個數組,是就直接追加
array_push($new_arr[$i],$v);
}else{//不是就拼接後再追加
$k_arr
=
array($new_arr[$i]);
array_push($k_arr,$v);
$new_arr[$i]
=
$k_arr;
}
}
}else{//如果key相等直接賦值給新數組
$new_arr[$i]
=
$val;
}
}
$i++;
}
print_r($new_arr);
?>
B. php foreach 循環
sql語句放在循環裡面這種是不提倡的,你可以把要插入的數據轉換成數組用sql循環插入,至於為什麼第一次列印出來有值後面就是NULL。你可以試試在foreach外面聲明一個變數例如$data = '';在到循環裡面拼接字元串$data .= $data; 然後在列印$data。看看是不是$result數組裡面的值就是空的。
C. php foreach 用法
樓主你的問題我也遇到過
這是為什麼呢?
$a
=
array("1"=>"語文","2"=>"數學","3"=>"英語");
上面這個和下面這個是完全一樣的
$a[1]="語文";
$a[2]="數學"
$a[3]=「英語」
樓主我們輸出上面的數組是怎麼輸出的呢?
肯定是echo
$a[1];
對不對?
如果沒有疑問我們繼續!!!!
------------------------------
不知道foreach樓主有沒有完全理解
他的格式是這樣的foreach(數組名
as
下標=>值)
下標也就是上面的$a[1],這里的1就是數組的下標!
到這你應該明白了,為什麼是$a[$key]這樣輸出
你記住不管怎麼變,數組的輸出方法永遠是$a[1],不會是$a['語文']
D. PHP中使用foreach循環讀取數組數據的方法
foreach 語法結構提供了遍歷數組的簡單方式。foreach 僅能夠應用於數組和對象,如果嘗試應用於其他數據類型的變數,或者未初始化的變數將發出錯誤信息。有兩種語法:
foreach
(array_expression
as
$value)
statement
foreach
(array_expression
as
$key
=>
$value)
statement
第一種格式遍歷給定的 array_expression 數組。每次循環中,當前單元的值被賦給 $value 並且數組內部的指針向前移一步(因此下一次循環中將會得到下一個單元)。
第二種格式做同樣的事,只除了當前單元的鍵名也會在每次循環中被賦給變數 $key。
範例:
$a = array( "one" => 1, "two" => 2, "three" => 3, "seventeen" => 17);foreach ($a as $k => $v) { echo "\$a[$k] => $v.\n";}
E. 在PHP中,foreach的解釋和應用
foreach 語句
foreach 語句用於循環遍歷數組。
每進行一次循環,當前數組元素的值就會被賦值給 value 變數(數組指針會逐一地移動) - 以此類推。
語法
foreach (array as value)
{
code to be executed;
}
例子
下面的例子示範了一個循環,這個循環可以輸出給定數組的值:
<html>
<body>
<?php
$arr=array("one", "two", "three");
foreach ($arr as $value)
{
echo "Value: " . $value . "<br />";
}
?>
</body>
</html>
F. PHP中的foreach
我覺得你思路上是不是有點錯誤在==6時不是停止遍歷,而是跳過因為循環一停止就是整個的停止,再開始就是根據條件再次開始了。。。
G. php foreach格式問題
foreach 有兩種語法:
第一種
foreach (array_expression as $value)
statement
第二種
foreach (array_expression as $key => $value)
statement
第二種做了和第一種同樣的事情,只不過把當前單元的鍵名也會在每次循環中被賦給變數
$key,至於使用哪種語法,要看你循環的結構體中用沒用到下標$key
像你舉得例子,沒有用到下標,直接使用第一種語法就行啦
H. PHP foreach 嵌套循環
第二個foreach 中的局部變數已經覆蓋了第一個foreach 中的 $key,
第二個跟第一個第二個都不會影響,因為屬於第一個foreach之外,所有的foreach 循環中產生的變數均是臨時變數,退出循環時就會被銷毀,所以第三個不會受第一個第二個影響,
把你的第二個foreach 中的$key 換個變數名就不會覆蓋了,
I. php foreach問題
兄弟。你改的是有效的,但是,你的修改後的值是存在內存中的,當前的值是已經再你加之前就計算為3和5了,相當於你的這個值現在是生效不了的,只有在下次循環的時候,才能生效,只是我不知道你這樣能否理解我說的。和樓上說的一樣,
J. PHP中的函數-- foreach()的用法詳解
PHP
4
引入了
foreach
結構,和
Perl
以及其他語言很像。這只是一種遍歷數組簡便方法。foreach
僅能用於數組,當試圖將其用於其它數據類型或者一個未初始化的變數時會產生錯誤。有兩種語法,第二種比較次要但卻是第一種的有用的擴展。
復制代碼
代碼如下:
foreach
(array_expression
as
$value)
statement
foreach
(array_expression
as
$key
=>
$value)
statement
第一種格式遍歷給定的
array_expression
數組。每次循環中,當前單元的值被賦給
$value
並且數組內部的指針向前移一步(因此下一次循環中將會得到下一個單元)。
第二種格式做同樣的事,只除了當前單元的鍵名也會在每次循環中被賦給變數
$key。
自PHP
5
起,還可能遍歷對象。
注意:當
foreach
開始執行時,數組內部的指針會自動指向第一個單元。這意味著不需要在
foreach
循環之前調用
reset()。
注意:除非數組是被引用,foreach
所操作的是指定數組的一個拷貝,而不是該數組本身。foreach對數組指針有些副作用。除非對其重置,在
foreach
循環中或循環後都不要依賴數組指針的值。
自
PHP
5
起,可以很容易地通過在
$value
之前加上
&
來修改數組的元素。此方法將以引用賦值而不是拷貝一個值。
復制代碼
代碼如下:
<?php
$arr
=
array(1,
2,
3,
4);
foreach
($arr
as
&$value)
{
$value
=
$value
*
2;
}
//
$arr
is
now
array(2,
4,
6,
8)
?>
此方法僅在被遍歷的數組可以被引用時才可用(例如是個變數)。
復制代碼
代碼如下:
<?php
foreach
(array(1,
2,
3,
4)
as
&$value)
{
$value
=
$value
*
2;
}
?>