2013-03-08 2 views
0

Как вы можете захватить два массива и перечислить их как пары ключей, разделенные запятыми.PHP пара двух массивов

Array1 
    'key1a'=>'value' 
    'key2a'=>'value' 
    'key3a'=>'value' 

Array2 
    'key7b'=>'value' 
    'key8b'=>'value' 
    'key9b'=>'value' 

Желаемый результат:

key1a = key7b, key2a = key8b, key3a = key9b 

ответ

4
$new_Array = array_combine(array_keys($Array1), array_keys($Array2)); 
0
$newarr = array_combine(array_keys($arr1), array_keys($arr2)); 

Это следует сделать, учитывая, что $ arr1 и $ arr2 имеют одинаковую длину.

0
$array1 = array('key1a'=>'value', 
'key2a'=>'value', 
'key3a'=>'value'); 

$array2 = array('key7b'=>'value', 
'key8b'=>'value', 
'key9b'=>'value'); 

$keys = array_combine(array_keys($array1),array_keys($array2)); 
foreach($keys as $k => $k2) echo " $k = $k2".($k2==end($keys)?'':','); 

DEMO VIEW

+0

Это то, что я ищу, но я надеялся, что не использовать какие-либо петли. –

+0

Вы можете сделать функцию, которая возвращает результаты цикла все время – Sam

0
foreach($arr1 as $i => $val){ 
    foreach($arr2 as $j => $val2){ 
    echo $i . " = " . $j . ", "; 
    } 
} 

Это работает, хотя, вероятно, не то, что вы ищете (потому что вы отметили, что вы пытаетесь сделать это без петель?) Имейте в виду, array_combine() является PHP5 функция.

0

Я думал об этом:

implode(', ', array_map(create_function('$k1,$k2', 'return $k1 . " = :" . $k2;'), array_keys($array1), array_keys($array2)))