سلام دوستان من متغیری به نام $utput دارم که به شکل چند ارایه تو درو تو هستش الان میخام هر سه عضوی از این ها رو جمعه کنه یعنی مثلا ابتدا 0 رو از ارایه اول و 0 رو از ارایه دوم و صفر رو از ارایه سوم جمع کنه بعد بره سراغه 0 از ارایه اول صفر از ارایه دوم و 4 از ارایه اخر همینطور ادامه پیدا کنه تا همه اعضای ارایه ها این اتفاق براشون بیفته و برام چاپشون کنه ممنون میشم راهنمایی کنید !
$output = [2=> [ '0' , '2' , '4' , '6' , '8' , '10'] , 3=>['0' , '3' , '6' , '9'] , 4=>['0' , '4' , '8']]
@farhadi @mehranmarandi90 @Alimotreb @mobinasattari7 @mhyeganeh @ali.bayat @websaz @hesammousavi @mehdi.mahdavi97 @ajdar9667
من برای مفهوم تر شدن key ها رو یه رشته از ایندکس ها قرار دادم که الزامی نیست میتونید فقط ایندکس خالی قرار بدید
$array = [
['0', '2', '4', '6', '8', '10'],
['0', '3', '6', '9'],
['0', '4', '8']
];
$array0 = $array[0];
for ($a=1;$a<count($array);$a++){
$array1 = $array[$a];
$array2=[];
foreach ($array0 as $key0 => $val0){
foreach ($array1 as $key1 => $val1){
$array2[$key0."-".$key1]=$val0+$val1;
}
}
$array0 = $array2;
}
echo json_encode($array2);
die();
یه همچین خروجی میده:
{
"0-0-0":0,
"0-0-1":4,
"0-0-2":8,
"0-1-0":3,
"0-1-1":7,
"0-1-2":11,
"0-2-0":6,
"0-2-1":10,
"0-2-2":14,
"0-3-0":9,
"0-3-1":13,
"0-3-2":17,
"1-0-0":2,
"1-0-1":6,
"1-0-2":10,
"1-1-0":5,
"1-1-1":9,
"1-1-2":13,
"1-2-0":8,
"1-2-1":12,
"1-2-2":16,
"1-3-0":11,
"1-3-1":15,
"1-3-2":19,
"2-0-0":4,
"2-0-1":8,
"2-0-2":12,
"2-1-0":7,
"2-1-1":11,
"2-1-2":15,
"2-2-0":10,
"2-2-1":14,
"2-2-2":18,
"2-3-0":13,
"2-3-1":17,
"2-3-2":21,
"3-0-0":6,
"3-0-1":10,
"3-0-2":14,
"3-1-0":9,
"3-1-1":13,
"3-1-2":17,
"3-2-0":12,
"3-2-1":16,
"3-2-2":20,
"3-3-0":15,
"3-3-1":19,
"3-3-2":23,
"4-0-0":8,
"4-0-1":12,
"4-0-2":16,
"4-1-0":11,
"4-1-1":15,
"4-1-2":19,
"4-2-0":14,
"4-2-1":18,
"4-2-2":22,
"4-3-0":17,
"4-3-1":21,
"4-3-2":25,
"5-0-0":10,
"5-0-1":14,
"5-0-2":18,
"5-1-0":13,
"5-1-1":17,
"5-1-2":21,
"5-2-0":16,
"5-2-1":20,
"5-2-2":24,
"5-3-0":19,
"5-3-1":23,
"5-3-2":27
}
@mehranmarandi90 تعداد حالت هاش برابر ضرب تعداد اعضای ارایه ها که همون طور که گفتین 72 تا چون سه تا ارایه داریم پس سه تا جای خالی داریم برای هر جای خالی هم به تعداد ارایه اون میتونیم عضو بزاریم یعنی 346 که همون 72 میشه
من برای مفهوم تر شدن key ها رو یه رشته از ایندکس ها قرار دادم که الزامی نیست میتونید فقط ایندکس خالی قرار بدید
$array = [
['0', '2', '4', '6', '8', '10'],
['0', '3', '6', '9'],
['0', '4', '8']
];
$array0 = $array[0];
for ($a=1;$a<count($array);$a++){
$array1 = $array[$a];
$array2=[];
foreach ($array0 as $key0 => $val0){
foreach ($array1 as $key1 => $val1){
$array2[$key0."-".$key1]=$val0+$val1;
}
}
$array0 = $array2;
}
echo json_encode($array2);
die();
یه همچین خروجی میده:
{
"0-0-0":0,
"0-0-1":4,
"0-0-2":8,
"0-1-0":3,
"0-1-1":7,
"0-1-2":11,
"0-2-0":6,
"0-2-1":10,
"0-2-2":14,
"0-3-0":9,
"0-3-1":13,
"0-3-2":17,
"1-0-0":2,
"1-0-1":6,
"1-0-2":10,
"1-1-0":5,
"1-1-1":9,
"1-1-2":13,
"1-2-0":8,
"1-2-1":12,
"1-2-2":16,
"1-3-0":11,
"1-3-1":15,
"1-3-2":19,
"2-0-0":4,
"2-0-1":8,
"2-0-2":12,
"2-1-0":7,
"2-1-1":11,
"2-1-2":15,
"2-2-0":10,
"2-2-1":14,
"2-2-2":18,
"2-3-0":13,
"2-3-1":17,
"2-3-2":21,
"3-0-0":6,
"3-0-1":10,
"3-0-2":14,
"3-1-0":9,
"3-1-1":13,
"3-1-2":17,
"3-2-0":12,
"3-2-1":16,
"3-2-2":20,
"3-3-0":15,
"3-3-1":19,
"3-3-2":23,
"4-0-0":8,
"4-0-1":12,
"4-0-2":16,
"4-1-0":11,
"4-1-1":15,
"4-1-2":19,
"4-2-0":14,
"4-2-1":18,
"4-2-2":22,
"4-3-0":17,
"4-3-1":21,
"4-3-2":25,
"5-0-0":10,
"5-0-1":14,
"5-0-2":18,
"5-1-0":13,
"5-1-1":17,
"5-1-2":21,
"5-2-0":16,
"5-2-1":20,
"5-2-2":24,
"5-3-0":19,
"5-3-1":23,
"5-3-2":27
}
@mehranmarandi90 سلام مهران جان نگاه کن من این مد رو به طور کلی میخواستم مثلا 5 تا ارایه دیگه هم اضافه می کردم بهم جواب بده شما اومدی سه تا foreach زدی ولی با بیشتر شدن ارایه ها هی این تهداد بیشتر میشه پس باید تابع بازگشتی بریم(Callback func) که خداروشکر خودم نوشتمش اگر کسی لازم داشت پیام بده کداش روم بفرستم
@behzadi
😶🤨
نه دیگه، حداقل یه بار تستش میکردی ! 😉
برای هر تعداد آرایه جواب میده همین
مثلا برای این 4 تا آرایه (و هر تعداد دیگه)
$array = [
['0', '2'],
['2', '1'],
['0', '3'],
['0', '4']
];
این خروجی رو تولید میکنه
array:16 [▼
"0-0-0-0" => 2
"0-0-0-1" => 6
"0-0-1-0" => 5
"0-0-1-1" => 9
"0-1-0-0" => 1
"0-1-0-1" => 5
"0-1-1-0" => 4
"0-1-1-1" => 8
"1-0-0-0" => 4
"1-0-0-1" => 8
"1-0-1-0" => 7
"1-0-1-1" => 11
"1-1-0-0" => 3
"1-1-0-1" => 7
"1-1-1-0" => 6
"1-1-1-1" => 10
]
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟