' ...' /> ' ...' />
۵ رضا محب
در مورد یک آرایه
جامعه پی اچ پی ایجاد شده در ۲۲ اردیبهشت ۱۴۰۱

سلام خدمت شما

یک آرایه به شکل زیر داریم: (البته ایندکس‌های آرایه‌ها با هم برابر ولی متغییر هستند یعنی مثلا color ممکن testباشه)

$result = [
               ['color'=>'blue', 'size'=>'large', 'age'=>18],
               ['color'=>'red', 'size'=>'medium', 'age'=>20],
               ['color'=>'yellow', 'size'=>'xlarge', 'age'=>22]
            ];

//خروجی می‌خواهم به  شکل زیر باشه شما چه الگوریتمی پیشنهاد می‌دهید؟

$color = ['blue','red','yellow'];
$size =   ['large','medium','xlarge'];
$age =   [18, 20, 22];

با تشکر از لطف شما

سلام دوست عزیز

در ابتدا یک راهنمایی میکنم تا خودتون سعی کنید حل کنید

شما میتوانید متغیرهای داینامیک به شکل زیر ایجاد کنید

${'color'} = 'red';

اگر موفق به حل نشدید حتما در همین تاپیک مطرح کنید!

محمد گازری ۲۲ اردیبهشت ۱۴۰۱، ۱۸:۰۱

سلام خدمت شما

الان تونستم پیاده سازی کنم

1-: آیا امکان داره شما هم این را انجام دهید تا الگوریتم شما راهم بتوانم ببینم تا الگوریتم خودم بهینه‌تر کنم.

خروجی کد من به همین صورت زیرمی خواستم که پیاده سازی شد :

ded1-Screenshot 2022-05-13 050445.gif


2: آبا امکان داره در پاسخی که دادید شما چه الگوریتمی را می‌خواستید پیشنهاد دهید آن الگوریتم را هم بگویید؟

با تشکر فراوان از شما

رضا محب ۲۳ اردیبهشت ۱۴۰۱، ۰۰:۳۸

سلام.

اگر درست متوجه منظور شده باشم، یه راهم استفاده از توابع خود php یعنی array_column هست:

$result = [['color'=>'blue', 'size'=>'large', 'age'=>18],
          ['color'=>'red', 'size'=>'medium', 'age'=>20],
          ['color'=>'yellow', 'size'=>'xlarge', 'age'=>22]];
$color = array_column($result, 'color');
print_r($color);
بهترین پاسخ
محسن موحد ۲۳ اردیبهشت ۱۴۰۱، ۰۰:۴۰

روش بسیار عالی بود اما indexهای ارایه‌ها برابر ولی ممکن هرچی باشه وثابت نیست شما چی پیشنهاد می‌دهید

رضا محب ۲۳ اردیبهشت ۱۴۰۱، ۰۰:۴۴

از array_keys میتونی استفاده کنی، ایندکس هارو دریافت کنی

محسن موحد ۲۳ اردیبهشت ۱۴۰۱، ۰۰:۵۵