php-如何将数组的键和值推送到另一个数组

时间:2017-04-27 11:42:14

标签: php arrays

我保存了一个包含文本文件中某些翻译的数组。 (.txt)的

数组结构:

$translate = array(
  "Search. Discover. Book Instantly" => "بگرد مقایسه کن رزرو کن",
  '24/7 Access to top salon' => ' خیلی خوب خیلی عالی در 7 روز هفته',
  'EASY AND SIMPLE'=> 'راحت و ساده',
); 

现在我想向数组中添加新字段,但我不知道该怎么做,我需要类似array_push()的内容来添加键和值。

示例:

$new_line = array("Hello World" => "سلام دنیا");

// add to main array
$translate = array(
  "Search. Discover. Book Instantly" => "بگرد مقایسه کن رزرو کن",
  '24/7 Access to top salon' => ' خیلی خوب خیلی عالی در 7 روز هفته',
  'EASY AND SIMPLE'=> 'راحت و ساده',
  "Hello World" => "سلام دنیا"
); 

6 个答案:

答案 0 :(得分:3)

因为$new_line是一个数组,你可能想要合并它们

array_merge($array1, $array2)
  

在此处阅读更多内容http://php.net/manual/en/function.array-merge.php

答案 1 :(得分:1)

$translate = array(
  "Search. Discover. Book Instantly" => "بگرد مقایسه کن رزرو کن",
  '24/7 Access to top salon' => ' خیلی خوب خیلی عالی در 7 روز هفته',
  'EASY AND SIMPLE'=> 'راحت و ساده'
); 

$translate["Hello World"] = "سلام دنیا";

或者,如果您有一个具有新值的单独数组

$new_line = array("Hello World" => "سلام دنیا", "Hello World1" => "سلام دنیا");

$translate = array_merge($translate, $new_line);

答案 2 :(得分:0)

这与数组推送

相同
$translate[] = [
    'Hello World' => 'سلام دنیا'
];

答案 3 :(得分:0)

你必须这样做

$translate['Hello World'] = "سلام دنیا";

关联数组没有array_push()等价物,因为无法确定下一个键。

答案 4 :(得分:0)

只需添加一个新条目

<?php

$new = array("Hello World" => "سلام دنیا");

// add to main array
$translate = array(
  "Search. Discover. Book Instantly" => "بگرد مقایسه کن رزرو کن",
  '24/7 Access to top salon' => ' خیلی خوب خیلی عالی در 7 روز هفته',
  'EASY AND SIMPLE'=> 'راحت و ساده',
  "Hello World" => "سلام دنیا"
); 

/* single entry * /
$translate['new'] = $new[0];
unset($new[0]);
/**/

//several entries
//array_merge($translate,$new);

//or with iteration
foreach($new as $k => $v){
    //here you could add some conditions on what to add and what not
    $translate[$k]=$v;
    unset($new[$k]);
};

print_r( $translate );

?>

也许你不需要取消设置。另请查看find the key for associative array entries

答案 5 :(得分:0)

使用key()数组函数可以这样做。

$translate = array(
  "Search. Discover. Book Instantly" => "بگرد مقایسه کن رزرو کن",
  '24/7 Access to top salon' => ' خیلی خوب خیلی عالی در 7 روز هفته',
  'EASY AND SIMPLE'=> 'راحت و ساده',
); 

$new_line = array("Hello World" => "سلام دنیا");

$translate[key($new_line)] = $new_line[key($new_line)];

print_r($translate);

结果

Array
(
    [Search. Discover. Book Instantly] => بگرد مقایسه کن رزرو کن
    [24/7 Access to top salon] =>  خیلی خوب خیلی عالی در 7 روز هفته
    [EASY AND SIMPLE] => راحت و ساده
    [Hello World] => سلام دنیا
)