PDA

View Full Version : سوال: جستجوی یک آیتم از آرایه در یک آرایه دیگر



IMANAZADI
دوشنبه 28 دی 1394, 09:26 صبح
با سلام فرض کنید دو آرایه مثل زیر داریم
میخواهیم 'type' آرایه اول(t) رو در آرایه دوم (f) به ترتیب جستجو و در صورت پیدا کردن ، 'id' متناظر با اون رو در یک آرایه جدید کپی کنه







$t=array(array('type'=>'aa','class'=>'f30'),array('type'=>'bb','class'=>'b10'),array('type'=>'cc','class'=>'c40'));


$f=array(array('id'=>'10','type'=>'bb'),array('id'=>'5','type'=>'aa'));


ممنون میشم
من با in_array و حلقه سعی کردم نتونستم

blue.web9
دوشنبه 28 دی 1394, 15:03 عصر
سلام
تابع array_column که از php5.5 اومده فقط مقدار type از داخل آرایه های داخل t برمیگردونه و بعد داخل حلقه به ترتیب جستجو میکنیم.



$t=array(array('type'=>'aa','class'=>'f30'),array( 'type'=>'bb','class'=>'b10'),array('type'=>'cc','c lass'=>'c40'));
$f=array(array('id'=>'10','type'=>'bb'),array('id' =>'5','type'=>'aa'));

$arrayType = array_column( $t , 'type' );
$arrayId = array();
foreach( $f as $data )
{
if( in_array($data['type'], $arrayType) )
$arrayId[] = $data['id'];
}