Учитывая эти два массива:
$name=array("alice","ken","wendy");
$frequent=array(3,6,9);
Я пытаюсь совместить это как
$data = array($name=>$frequent);
но он терпит неудачу. Кто-нибудь может помочь?
Я хочу это:
$data = array(
'alice' => 3,
'ken' => 6,
'wendy' => 9,
);
Вы можете использовать array_combine
$combined_array = array_combine($name, $frequent);
Документация здесь: http://php.net/manual/en/function.array-combine.php
Вы можете использовать функцию 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
)
напишите вот так: $combined_array = array_combine($name, $frequent);
[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
)
Если вы хотите сделать это вручную.
<?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);
?>