2016-05-08 2 views
1

Как бы вы написали процедуру сортировки в PHP, которая заменила бы значения ключей массива, с использованием значения ключа другого массива, если значение ключа предыдущего массива не соответствует порядку ,php замените значение массива на другое значение массива, которое не соответствует порядку

$array1 = ['section2', 'section3', 'section1']; 
$array2 = ['content for section1', 'content for section2', 'content section3']; 

Как я мог бы заменить значения $array1 с содержанием corrosponding в $array2?

Так что я думаю, что я спрашиваю, как я могу сделать $array1 отображать следующие ....

content for section2 
content for section3 
content for section1 

в таком порядке ....

+1

проверка этого руководства http://www.w3schools.com/php/func_string_str_replace.asp http://php.net /manual/en/function.str-replace.php –

+0

Какое отношение между двумя массивами? содержимое для раздела 2 является образцом или всегда заканчивается словом 'section2'? –

+0

Если между двумя заказами массива нет никаких отношений, у вашего вопроса нет решения –

ответ

1

Ленте как массивы и если проверить значение $array1 существует в то время как перекручивание $array2, если да, то изменить значение $array1 к значению $array2 на основе key, так что вы можете сохранить порядок, то есть:

$array1 = ['section2', 'section3', 'section1']; 
$array2 = ['content for section1', 'content for section2', 'content for section3']; 

foreach($array1 as $key => $value){ 
    foreach($array2 as $key2 => $value2){ 
     if(preg_match("/$value/", $value2)){ 
      $array1[$key] = $value2; 
     } 
    } 
} 

print_r($array1); 

Выход:

Array 
(
    [0] => content for section2 
    [1] => content for section3 
    [2] => content for section1 
) 

Ideone Demo