Как объединить эти два массива в один массив с помощью php? [Дубликат]

1

Учитывая эти два массива:

$name=array("alice","ken","wendy");

$frequent=array(3,6,9);                                       

Я пытаюсь совместить это как

$data = array($name=>$frequent);

но он терпит неудачу. Кто-нибудь может помочь?

Я хочу это:

$data = array(
      'alice' => 3,
      'ken' => 6,
      'wendy' => 9,
 );
  • 0
    И каков ваш ожидаемый результат
  • 0
    Каков ваш ожидаемый результат?
Показать ещё 1 комментарий
Теги:
arrays

5 ответов

4

Вы можете использовать array_combine

$combined_array = array_combine($name, $frequent);

Документация здесь: http://php.net/manual/en/function.array-combine.php

4

Вы можете использовать функцию array_combine как

Синтаксис:

array_combine ( array $keys , array $values )

Итак, ваш

$name=array("alice","ken","wendy"); 
$frequent=array(3,6,9);
$result = array_combine($name,$frequent);

Вывод

Array
(
    [alice] => 3
    [ken] => 6
    [wendy] => 9
)
2

напишите вот так: $combined_array = array_combine($name, $frequent);

  • 0
    Напишите описательные ответы, написанные другими пользователями. И используйте правильное форматирование.
1
[akshay@localhost tmp]$ cat test.php
<?php

$name=array("alice","ken","wendy");
$frequent=array(3,6,9);

// One easy way is
print_r(  array_combine($name, $frequent) );


// Another lengthy way
while ( ($key = array_shift($name)) && ($value = array_shift($frequent)) )
{
    $combined[$key] = $value;
}

print_r( $combined );

?>

Вывод

[akshay@localhost tmp]$ php test.php
Array
(
    [alice] => 3
    [ken] => 6
    [wendy] => 9
)
Array
(
    [alice] => 3
    [ken] => 6
    [wendy] => 9
)
1

Если вы хотите сделать это вручную.

<?php
    $name=array("alice","ken","wendy");
    $frequent=array(3,6,9);
    $combined=array();
    for($i=0; $i<3; $i++)
    {
        $combined[$name[$i]]=$frequent[$i];
    }
    var_dump($combined);
?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню