🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ خانم مهین بانو راسخ
با توجه به تدریس شما چرا خروجی به شکل دیگری ست؟ (بحث 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 )

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

پرین چگنی ۱۹ بهمن ۱۳۹۸، ۱۰:۱۴