सं. mysql_fetch_array बस परिणाम की अगली पंक्ति देता है और आंतरिक सूचक को आगे बढ़ाता है। यह लूप नहीं करता है। (आंतरिक रूप से यह कहीं लूप का उपयोग कर सकता है या नहीं भी कर सकता है, लेकिन यह अप्रासंगिक है।)
while ($row = mysql_fetch_array($result)) {
...
}
यह निम्न कार्य करता है:
mysql_fetch_arrayपुनः प्राप्त करता है और अगली पंक्ति लौटाता है- पंक्ति को
$row. को असाइन किया गया है - अभिव्यक्ति का मूल्यांकन किया जाता है और यदि यह
trueका मूल्यांकन करता है , लूप की सामग्री को निष्पादित किया जाता है - प्रक्रिया नए सिरे से शुरू होती है
यह निम्न कार्य करता है:
mysql_fetch_arrayपुनः प्राप्त करता है और अगली पंक्ति लौटाता है- पंक्ति को
$row. को असाइन किया गया है foreachसरणी की सामग्री पर लूप करता है और लूप की सामग्री को उतनी बार निष्पादित करता है जितनी बार सरणी में आइटम होते हैं
दोनों ही मामलों में mysql_fetch_array ठीक वही काम करता है। आपके पास उतने ही लूप हैं जितने आप लिखते हैं। हालांकि दोनों निर्माण एक ही काम नहीं करते हैं। दूसरा परिणाम की केवल एक पंक्ति पर कार्य करेगा, जबकि पहला सभी पंक्तियों पर लूप करेगा।