💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ زری فاتح
با توجه به تدریس شما چرا خروجی به شکل دیگری ست؟ (بحث OverWrite)
محسن موحد حل شده توسط محسن موحد

با سلام جناب آقای صالحی

ی ؟ داشتم

تکه کد و خروجی رو براتون در ذیل آوردم، چرا طبق گفته شما مقدار [Japan]،   جایگزین مقدار جدید یعنی 'Zari' نشد؟

//OverWrite in Associative array
     $ow=array('Iran'=>'Tehran','Japan'=>'Tokyo',20,12.5,'Japan'=>'Zari');
     print_r($dd);   
     //Output
     //Array ( [Iran] => Tehran [Japan] => Tokyo [0] => 20 [1] => 12.5 [2] => Zari ) 

سلام. شما به اشتباه متغیر $dd رو در print_r چاپ کردید. در صورتی که باید بنویسید:

<?php
$ow=array('Iran'=>'Tehran','Japan'=>'Tokyo',20,12.5,'Japan'=>'Zari');
print_r($ow);

Array
(
    [Iran] => Tehran
    [Japan] => Zari
    [0] => 20
    [1] => 12.5
)

 

بهترین پاسخ
محسن موحد ۱۹ بهمن ۱۳۹۸، ۱۰:۱۱

با سلام

 

مقادیر overwrite می‌شود. در هر دو صورت زیر مقادر جایزگین شده است:

$ow = array('Iran' => 'Tehran', 'Japan' => 'Tokyo', 20, 12.5, 'Japan' => 'Zari');
print_r($ow); //Array ( [Iran] => Tehran [Japan] => Zari [0] => 20 [1] => 12.5 )

 

همچنین به صورت زیر هم مقادیر جایگزین شده است:

$ow = array('Iran' => 'Tehran', 'Japan' => 'Tokyo', 20, 12.5, 'Japan' => 'Zari');
$dd = $ow;
print_r($dd); //Array ( [Iran] => Tehran [Japan] => Zari [0] => 20 [1] => 12.5 )

اگر همچنان مشکل دارید کد هایی نوشتید به صورت کامل ارسال کنید.

Mehdi Yaqoubi ۱۹ بهمن ۱۳۹۸، ۱۰:۱۴