के लिए foreachछोरों आप डेटा के रहे अनिश्चित है, तो आप ऐसा कर सकते हैं, तो:
foreach($users ?? [] as $user) {
}
यदि $usersसेट नहीं किया गया है (अशक्त coalesce करता है isset($users)) तो आपको खाली सरणी []मिलेगी और इस प्रकार PHP लूप नहीं करेगी क्योंकि लूप के लिए foreachकुछ भी नहीं है - कोई त्रुटि, चेतावनी या नोटिस नहीं।
मैं टिप्पणियों / उत्तरों में कुछ से असहमत हूं, मुझे नहीं लगता कि आपको किसी तरह के सुरक्षा जाल के रूप में, बस इसके लिए खाली सरणियों या प्रारंभिक चर घोषित करना चाहिए। इस तरह के दृष्टिकोण मेरी राय में खराब प्रोग्रामिंग है। जब यह आवश्यक हो तो स्पष्ट रूप से करें।
और ईमानदार होने के लिए, यदि आपको एक खाली सरणी को इनिशियलाइज़ करना है, तो विचार करें कि क्या कोड बेहतर संरचित हो सकता है, आप बाद में या जो भी हो, डेटा की जांच कैसे करें।
निम्न कोड व्यर्थ है, यह "मंशा" नहीं दिखाता है यह लोगों को भ्रमित कर सकता है कि यह क्यों प्रारंभिक है (सबसे अच्छा यह पढ़ने और प्रक्रिया के लिए सिर्फ कुछ व्यर्थ है):
$user = [];
$user['name'] = ['bob'];
दूसरी पंक्ति भी नई सारणी घोषित करती है और कभी भी विफल नहीं होगी।
$foo = array()और यह एक सरणी में बदल गया स्ट्रिंग नहीं था, आदि)।