PHP में foreach में संदर्भ
foreach लूप के साथ काम करते समय
तत्वों के लिए चर को बदलने से
स्वयं सरणी में कोई परिवर्तन नहीं होता है:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
$elem++;
}
var_dump($arr); // नहीं बदलेगा
?>
हालाँकि, यदि हम तत्वों के लिए चर को एक संदर्भ के रूप में घोषित करें तो वांछित प्रभाव प्राप्त किया जा सकता है। इस स्थिति में, इस चर में परिवर्तन सरणी में परिवर्तन का कारण बनेगा:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem++;
}
var_dump($arr); // बदल जाएगा
?>
निम्नलिखित कोड को ठीक करें ताकि यह इच्छित के अनुसार काम करना शुरू कर दे:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem = sqrt($elem);
}
var_dump($arr);
?>
निम्नलिखित कोड को ठीक करें ताकि यह इच्छित के अनुसार काम करना शुरू कर दे:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem ** 2;
}
var_dump($arr);
?>