PDA

View Full Version : دستور array count value برای آرایه دو بعدی



Salazar.mi
جمعه 01 آذر 1398, 15:08 عصر
سلام من یه سری داده به صورت سطر و ستون دارم
میخوام بیام ستونی بهش نگاه کنم
مثلا ستون اول چند نوع داده دارم از هر کدوم چندتا
داده ها همش عددی
منظورم از نوع اینه که مثلا ستون یک کلا از چهار عدد تشکیل شده مثلا عددهای یک و دو و سه و چهار
اول بتونه تشخیص بده که کلا از چهار عدد تشکیل شده بعد بتونه بگه از عدد یک چندتا هست از عدد دو چندتا هست و...
اینکار را دستور array count value برای آرایه یک بعدی انجام میده ولی برای دو بعدی نمیدونم چه باید کرد؟؟؟؟

ASHKANLAEI
جمعه 01 آذر 1398, 15:47 عصر
اگر شما به این صورت آرایه هایی داشته باشید:

Array (
Array (1, 2, 3, 4, 5),
Array (2, 3, 4, 5, 1),
Array (3, 4, 5, 1, 2),
Array (4, 5, 1, 2, 3),
Array (5, 1, 2, 3, 4)
)
میتونین با این کد:

for ($i = 0; $i < 5; $i++) {
foreach ($original_arr as $arr2) {
$new_arr[$i][] = $arr2[$i];
}
}ستون ها رو به سطر و سطر ها رو به ستون تبدیل کنید.
حالا برای هر اندیس، با همون array_count_value اقدام کنید.

Salazar.mi
جمعه 01 آذر 1398, 16:07 عصر
ممنونم که جواب دادین ولی کد شما ارور میده
Parse error: syntax error, unexpected 'for' (T_FOR) in C:\wamp64\www\id3\index.php on line 9

Salazar.mi
جمعه 01 آذر 1398, 16:08 عصر
و اینکه شما مطمین اید میشه تابع array count value

را به ازای هر سطح برای آرایه دوبعدی میشه اجرا کرد؟

Salazar.mi
جمعه 01 آذر 1398, 16:18 عصر
ببخشید ; یادم رفته بود بزارم برای کد قبلی ولی الان اینو نوشتم


<?php
$arr=array (
array (1, 2, 3, 4, 5),
array (2, 3, 4, 5, 1),
array (3, 4, 5, 1, 2),
array (4, 5, 1, 2, 3),
array (5, 1, 2, 3, 4)
);
for ($i = 0; $i < 5; $i++) {
foreach (arr as $arr2) {
$new_arr[$i][] = $arr2[$i];
}
}
?>

الان این ارورش این مدلیه

Notice: Use of undefined constant arr - assumed 'arr' in C:\wamp64\www\id3\index.php on line 10


Warning: Invalid argument supplied for foreach() in C:\wamp64\www\id3\index.php on line 10


Notice: Use of undefined constant arr - assumed 'arr' in C:\wamp64\www\id3\index.php on line 10
کلی از این ارورر ها داره

Salazar.mi
جمعه 01 آذر 1398, 16:23 عصر
تابع
array count value
برای هر سطر از آرایه دو بعدی جواب میده
:تشویق::تشویق::تشویق:
ولی جای سطر و ستون را چه مدلی تغییر بدم نمیدونم:گریه::گریه::گریه:
دستور مستقیم نداره؟؟؟؟

ASHKANLAEI
جمعه 01 آذر 1398, 16:37 عصر
تابع
array count value
برای هر سطر از آرایه دو بعدی جواب میده
:تشویق::تشویق::تشویق:
ولی جای سطر و ستون را چه مدلی تغییر بدم نمیدونم:گریه::گریه::گریه:
دستور مستقیم نداره؟؟؟؟
خب کد من همین کار رو انجام میده دیگه!
ارور شما هم به این دلیله که arr$ رو arr نوشتید در حلقه

Salazar.mi
جمعه 01 آذر 1398, 16:43 عصر
<?php


$arr=array (
array (1, 2, 3, 4, 5),
array (1, 3, 4, 5, 1),
array (1, 4, 5, 1, 2),
array (4, 5, 1, 2, 3),
array (5, 1, 2, 3, 4)
);
for ($i = 0; $i < 5; $i++) {
foreach ($arr as $arr2) {
$new_arr[$i][] = $arr2[$i];
}
}


var_dump($new_arr);


for($i=0;$i<5;$i++)
{
$w=print_r(array_count_values($new_arr[$i]));
}
var_dump($w);
?>


درست شد بی نهایت ممنونم
واقعا ببخشید کلا از اول اشتباه کردم که هی ارور داد
واقعا ممنونمممم
تشکرات ویژه
:تشویق::تشویق::تشویق::تشویق:: شویق: