PDA

View Full Version : سوال: برگرنداندن اندیس با توجه به مقدار در ارایه دو بعدی



billgivz
سه شنبه 03 شهریور 1394, 17:43 عصر
سلام دوستان من میخوام بر اساس مقدار ارایه اندیس ارایه رو در ارایه دو بعدی برگردوندم این کار تو ارایه یک بعدی میتونم ولی با دوبعدی مشکل دارم لطفا راهنمایی کنید.


بطور مثال اگر در ارایه arr مقدار a و b در ستون 0 و 1 جستجو شد واسم اندیس خانه ارایه ، که همون 0 هست برگردونه . تشکر



<?php
$arr[0][0]="a";
$arr[0][1]="b";
$arr[0][2]=13910101;
$arr[0][3]=1;
$arr[0][4]=20;

$arr[1][0]="c";
$arr[1][1]="d";
$arr[1][2]=13940101;
$arr[1][3]=4;
$arr[1][4]=30;
?>

billgivz
سه شنبه 03 شهریور 1394, 20:32 عصر
سلام دوستان من میخوام بر اساس مقدار ارایه اندیس ارایه رو در ارایه دو بعدی برگردوندم این کار تو ارایه یک بعدی میتونم ولی با دوبعدی مشکل دارم لطفا راهنمایی کنید.


بطور مثال اگر در ارایه arr مقدار a و b در ستون 0 و 1 جستجو شد واسم اندیس خانه ارایه ، که همون 0 هست برگردونه . تشکر



<?php
$arr[0][0]="a";
$arr[0][1]="b";
$arr[0][2]=13910101;
$arr[0][3]=1;
$arr[0][4]=20;

$arr[1][0]="c";
$arr[1][1]="d";
$arr[1][2]=13940101;
$arr[1][3]=4;
$arr[1][4]=30;
?>

کس نخوارد پشت من ...




<?php


$array = array (
0 =>
array (
'id' => '9',
'gallery_id' => '2',
'picture' => '56475832.jpg'
),
1 =>
array (
'id' => '8',
'gallery_id' => '2',
'picture' => '20083622.jpg'
),
2 =>
array (
'id' => '7',
'gallery_id' => '2',
'picture' => '89001465.jpg'
),
3 =>
array (
'id' => '6',
'gallery_id' => '2',
'picture' => '47360232.jpg'
),
4 =>
array (
'id' => '5',
'gallery_id' => '2',
'picture' => '4876713.jpg'
),
5 =>
array (
'id' => '4',
'gallery_id' => '2',
'picture' => '5447392.jpg'
),
6 =>
array (
'id' => '3',
'gallery_id' => '2',
'picture' => '95117187.jpg'
)
);





function array_search_inner ($array, $attr, $val, $strict = FALSE) {
// Error is input array is not an array
if (!is_array($array)) return FALSE;
// Loop the array
foreach ($array as $key => $inner) {
// Error if inner item is not an array (you may want to remove this line)
if (!is_array($inner)) return FALSE;
// Skip entries where search key is not present
if (!isset($inner[$attr])) continue;
if ($strict) {
// Strict typing
if ($inner[$attr] === $val) return $key;
} else {
// Loose typing
if ($inner[$attr] == $val) return $key;
}
}
// We didn't find it
return NULL;
}

// Example usage
echo $key = array_search_inner($array, 'id', 8);


?>