的代碼是:
<?php
$notes = array("Main/folder/02/12.jpg = twelve",
"Main/folder/02/16.jpg = sixteen"
);
$imglist = array("12.jpg",
"13.jpg",
"14.jpg",
"15.jpg",
"16.jpg"
);
for ($i=0;$i<(count($imglist));$i++){
if(in_array($imglist[$i], $notes)){
echo $imglist[$i];
//Get key($notes) and //Cant figure out how to implement this key();
echo $notes[$key];
} //if ENDS
} //for ENDS
?>
我需要的是,$ i = 0,$ i = 4的,如果()返回TRUE &做呼應。
的僞代碼/邏輯是:
- 迭代通過所有的$ imglist陣列一個接一個。
- 如果在$ notes數組中找到完整的$ imglist [$ i]字符串,請在$ notes中獲取該值的鍵/索引,然後echo $ notes [$ key]和$ imglist [$ i]。或者Echo $註釋[$ key]。
例如本for循環所需的輸出應爲:
12.jpg Main/folder/02/12.jpg = twelve
16.jpg Main/folder/02/16.jpg = sixteen
的問題是,現在所有這些代碼只是輸出無。意味着如果條件不是真的返回TRUE。而在理論上,它應該在$ i爲0時返回TRUE。4.我的if()條件是否錯誤?是不是把php $ imglist作爲一個字符串?我應該使用strpos嗎?
謝謝,工作完美,像@Pox一樣然而,我有莫不過它使用循環而不是foreach,因爲我一直在圍繞foreach語句包裝頭。代碼在這裏http://codepad.org/l4V7zkgQ它現在也迴應迭代(雖然我沒有問它有問題)。再看看,再次感謝。 – DavChana
有一件事,通過檢查IF條件是否返回TRUE(如在我的代碼中鏈接到上面的評論中)與您的IF條件相比,您說IF NOT FALSE有什麼區別。我正在使用IF TRUE。 – DavChana
是的,因爲'strpos()'可能返回0,這會被你的版本錯誤地解釋。 [這是一個例子](http://codepad.org/WSSPiJbw)什麼時候會失敗。要修復你的版本,你需要比較'strpos()'的返回值與'!== false' – nickb