首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP向数组中添加另一项

PHP向数组中添加另一项
EN

Stack Overflow用户
提问于 2021-05-23 22:23:01
回答 3查看 43关注 0票数 0

我想从html表单向数组中添加新元素,但我不知道如何使用此结构将新元素添加到主数组中我尝试过array_push,但失败了

代码语言:javascript
复制
$menu = array(
               "1" => array (
                               "title" => 'Glowna',
                               "page"  => 'home', 
                               "url"   => "index.php",
                                ),
               "2" => array (
                               "title" => "Cennik",
                               "page"  => 'services',
                               "url"   => "index.php"            
                                       ),                                      
               "3" => array (
                               "title" => 'Portfolio',
                               "page"  => 'portfolio',
                               "url"   => "index.php"           
                                       ),
               "4" => array (
                               "title" => 'O nas',
                               "page"  => 'about',
                               "url"   => "index.php"               
                                       ),                      
               "5" => array (
                               "title" => 'Kontakt',
                               "page"  => 'contact',
                               "url"   => "index.php"             
                                       )
);
?>
EN

回答 3

Stack Overflow用户

发布于 2021-05-23 22:25:12

您将需要定义一个键,它很可能是"6",然后提供一个数组作为值。您的代码可能如下所示:

代码语言:javascript
复制
$menu['6'] = array( 'title' => "Archives",
                    'page'  => "archives",
                    'url'   => "archives.php");

非那样做不行。

票数 0
EN

Stack Overflow用户

发布于 2021-05-23 22:31:35

您的$menu数组被称为关联数组,因为它具有键的字符串值。

对于关联数组,不能使用array_push

你能做的是

代码语言:javascript
复制
$menu["key"] = array("title" => 'Kontakt',"page" => 'contact',"url" => "index.php")

但是查看您的数组,您可以使用数字索引而不是字符串。如果使用以下结构,则可以使用array_push

代码语言:javascript
复制
$menu = array(array ("title" => 'Glowna',
                     "page"  => 'home', 
                     "url"   => "index.php"),
              array ( "title" => "Cennik",
                      "page"  => 'services',
                      "url"   => "index.php"))

注意删除了“字符串键”(例如:"1" => array()),

现在你可以使用array_push了;

代码语言:javascript
复制
array_push($menu, array("title" => "Cennik", "page"  => 'services', "url"   => "index.php"))
票数 0
EN

Stack Overflow用户

发布于 2021-05-24 05:47:29

我试着用你的例子做array_push,它工作得很好,有什么问题吗?

考虑到下面其他人所说的,如果字符串键是数字的,php似乎仍然可以识别它们,因为即使数组键是数字字符串,数组推送也可以很好地工作。他们所说的,,可能适用于真正的字符串,或者不是数字顺序的键。

代码语言:javascript
复制
$menu = array(
        "1" => array (
                        "title" => 'Glowna',
                        "page"  => 'home', 
                        "url"   => "index.php",
                         ),
        "2" => array (
                        "title" => "Cennik",
                        "page"  => 'services',
                        "url"   => "index.php"            
                                ),                                      
        "3" => array (
                        "title" => 'Portfolio',
                        "page"  => 'portfolio',
                        "url"   => "index.php"           
                                ),
        "4" => array (
                        "title" => 'O nas',
                        "page"  => 'about',
                        "url"   => "index.php"               
                                ),                      
        "5" => array (
                        "title" => 'Kontakt',
                        "page"  => 'contact',
                        "url"   => "index.php"             
                                )
);

array_push($menu, array("title" => 'number 6', "page"  => 'something', "url"   => "works.php"));

var_export($menu);

结果:

代码语言:javascript
复制
array (
  1 => 
  array (
    'title' => 'Glowna',
    'page' => 'home',
    'url' => 'index.php',
  ),
  2 => 
  array (
    'title' => 'Cennik',
    'page' => 'services',
    'url' => 'index.php',
  ),
  3 => 
  array (
    'title' => 'Portfolio',
    'page' => 'portfolio',
    'url' => 'index.php',
  ),
  4 => 
  array (
    'title' => 'O nas',
    'page' => 'about',
    'url' => 'index.php',
  ),
  5 => 
  array (
    'title' => 'Kontakt',
    'page' => 'contact',
    'url' => 'index.php',
  ),
  6 => 
  array (
    'title' => 'number 6',
    'page' => 'something',
    'url' => 'works.php',
  ),
)

现场演示:http://sandbox.onlinephpfunctions.com/code/76d5dab43255459455f2e80e37ab281486009fc4

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67660787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档