按顺序比较多个数组和输出


compare multi arrays and output in order

我有两个数组:
数组1:

$art_style = ['Title1','Title2','Title3'];  
数组2:

array(
  'name' => array('Title1', 'Title3', 'Title2'), 
  'value' => array('2,0x1,0', '2,5', '15,0'
);  

我需要将数组2"name"与数组1进行比较,并按数组1的顺序输出数组2的值。

那么在这种情况下的输出将是:
2、0x1,0 - 15,0 - 2,5

你知道我该怎么做吗?

试试这样:

// Array1 order
foreach ($art_style as $key => $value) {
    if(in_array($value,$array2['name']))
        echo $array2['value'][$key];
}
// Array2 order
foreach ($array2['name'] as $key => $value) {
    if(in_array($value,$art_style))
        echo $array2['value'][$key];
}

小长方法。但是,它奏效了。

<?
$array1 = ['Title1','Title2','Title3'];  
$array2=array(
  'name' => array('Title1', 'Title3', 'Title2'), 
  'value' => array('2,0x1,0', '2,5', '15,0')
);  

$SizeofArray2=sizeof($array2['name']);
for($i=0;$i<$SizeofArray2;$i++)
{
    $Array2Value= $array2['name'][$i];
    for($j=0;$j<sizeof($array1);$j++)
    {
        if($Array2Value==$array1[$j])
        {
            if($j==$i)          
            {
            echo " ".$array2['value'][$i];
            }
            if($j!=$i)
            {
            echo " -".$array2['value'][$i];
            }
        }
    }
}
?>

输出:2,0x1,0 -2,5 -15,0

try this:

$art_style = array('Title1','Title2','Title3'); 
$array2 = array(
  'name' => array('Title1', 'Title3', 'Title2'), 
  'value' => array('2,0x1,0', '2,5', '15,0')
);
foreach ($art_style as $style) {
    foreach ($array2['name'] as $id => $name) {
        if ($name == $style) {
            echo $array2['value'][$id].' - ';
            break;
        }
    }
}