🔥 ۴۰ درصد تخفیف ثبت‌نام دوره‌ها قبل از افزایش قیمت‌ها
۰ ثانیه
۰ دقیقه
۰ ساعت
۶ مهلقا اوستا
دستور echo در تبدیل مستقیم ارایه به ابجکت وقتی اندیس عددی باشه (یکی از دوستان سوال پرسیدند ولی مشکل من توی جواب نبود)
جامعه پی اچ پی ایجاد شده در ۱۳ فروردین ۱۴۰۰

دستور echo در تبدیل مستقیم ارایه به ابجکت وقتی اندیس ما عددی هست دچار خطا میشه علتش رو نمیدونم .

 تبدیل مستقیم ارایه زدم به object زمانی که اندیس من رشته است کار میکنه دستور اکو ولی زمانی که اندیس عددی میدم خطا میده مثل همونی که در تبدیل غیر مستقیم گفتید .

سلام و احترام

لطفا خود کد رو قرار بدید و ورژن php شما چنده؟

ناژو داور ۱۴ فروردین ۱۴۰۰، ۱۶:۱۴

سلام 

 

موقعی ای که از اندیس عددی هم استفاده میکنید قبلش باید نام متغیر رو بیارید تویه عکسی که ضمیمه کردی اسم متغیر رو قبل اندیس نیاوردی

$x = array(array('name'=>'Ali'));
echo $x[0]['name'];
گردآفرید ملایری ۱۵ فروردین ۱۴۰۰، ۰۷:۳۴

اول اینو بگم که برای دسترسی به متغیرهای تعریف شده در یک ابجکت به صورت زیر عمل میشه که این بخش مربوط میشه به مبحث شی گرایی

 

$object->variable_name;

 

  حالا درمورد سوال شما 

 

$x = array('1'=>array('name'=>'Ali'),'2'=>array('name'=>'mobin'));
// array to json string
$json_string = json_encode($x); 
// json string to object
$obj = json_decode($json_string);
echo $obj->{1}->name;

 

تویه خط آخر قسمت

 obj -> {۱}$

 خودش یک ابجکت برمیگدونه که برای دسترسی به متغیر

name

باید به صورتی که در خط آخر اوردم عمل شه

گردآفرید ملایری ۱۵ فروردین ۱۴۰۰، ۱۰:۱۲
$x = array('1'=>array('name'=>'Ali'),'2'=>array('name'=>'mobin'));
$y = (object) $x;
echo $y->{1}['name'];
گردآفرید ملایری ۱۵ فروردین ۱۴۰۰، ۱۳:۰۵
<?php
$a = array (
   "1" => array (
       "name" => array (
           "firstname" => "ali",
           "lastname" => "byat"
       ),
       "username" => "ali110",
       "email" => "ali@gmail.com"
   ),
   "user2" => array (
       "name" => "erfan",
       "username" => "erfan888",
       "email" => "erfan@yahoo.com"
   )
);
$c = (object) $a;
echo "<pre>";
print_r($c);
echo "</pre><hr>";
echo $c->{1}["name"]["lastname"];
مهلقا اوستا ۱۵ فروردین ۱۴۰۰، ۱۵:۰۶

سلام و احترام

<?php
$a = array (
   "1" => array (
       "name" => array (
           "firstname" => "ali",
           "lastname" => "byat"
       ),
       "username" => "ali110",
       "email" => "ali@gmail.com"
   ),
   "user2" => array (
       "name" => "erfan",
       "username" => "erfan888",
       "email" => "erfan@yahoo.com"
   )
);
$c = (object) $a;
echo $c->{1}["name"]["lastname"];

کد شما به درستی کار میکنه

با دستور php -v میتونید ببینید که ورژن php شما چنده، حتما آخرین نسخه xampp رو دانلود و نصب کنید https://www.apachefriends.org/download_success.html

 

ناژو داور ۱۵ فروردین ۱۴۰۰، ۱۶:۴۰