当前位置: 首页 > 面试题库 >

PHP关联数组重复键

刘丰羽
2023-03-14
问题内容

我有一个关联数组,但是当我使用以下函数向其添加值时,它似乎会覆盖相同的键。有没有办法让多个相同的键具有不同的值?还是存在具有相同格式的另一种形式的数组?

我希望有:

42=>56
42=>86
42=>97
51=>64
51=>52
etc etc

码:

   function array_push_associative(&$arr) {
       $args = func_get_args();
       foreach ($args as $arg) {
           if (is_array($arg)) {
               foreach ($arg as $key => $value) {
                   $arr[$key] = $value;
                   $ret++;
               }
           }else{
               $arr[$arg] = "";
           }
       }
       return $ret;
    }

问题答案:

不可以,关联数组中不能有多个相同的键。

但是,您可以拥有唯一的键,每个键的对应值都是数组,并且这些数组的每个键都有多个元素。

所以代替这个…

42=>56 42=>86 42=>97 51=>64 51=>52

…你有这个:

Array (
    42 => Array ( 56, 86, 97 )
    51 => Array ( 64, 52 )
)


 类似资料:
  • 问题内容: 有没有一种简单的方法可以迭代PHP中此结构的关联数组: 该数组具有编号索引,具有4到5个关联部分。所以,我不仅需要遍历通过,而且通过。困难的是,不同的索引具有不同的部分数量(有些可能缺少一两个)。 您是否有想法以一种美观,整洁且易于理解的方式进行操作? 问题答案: 嵌套两个循环:

  • SystemTap支持关联数组。关联数组就像其它编程语言中的map/dict/hash,你可以把它看作由互不相同的键所组成的数组,每个键都有一个关联的值。 关联数组需要定义为全局变量。访问关联数组的值的语法跟awk类似,就是array_name[index_expression]。 这里的array_name指关联数组的名字,index_expression指数组中某个唯一的键。比如在下面的例子中

  • 问题内容: 我有这样的数组 当我做一个var-dump时我得到这个-> 现在,我尝试使用IN语句将此添加到数据库中- 我遇到的问题是内爆返回一个字符串。但是“ phone”列是数据库中的整数,并且数组也将其存储为整数。因此,由于我的最终查询如下所示,因此出现了SQL错误- 这是一个错误的查询。有没有解决的办法。 我的列名是动态的,基于用户要插入的内容。所以我不能使用诸如 :phone 和 :ima

  • 问题内容: 我来自python背景,类似的python数据类型(字典)是一组 无序 的键值对。 我想知道PHP关联数组是否无序?他们似乎是有序的。 测试总是在bar之前进行,我可以如您所见地对该数组进行切片。那么,是否始终保证可以跨PHP版本订购?该命令就是我声明数组的命令吗?因此,内部是否有某些东西指向“测试”以将[0]放置在数组中?我已经阅读了http://php.net/manual/en/

  • 我想在数组中搜索,就像当我用“m”新数组搜索时一样。 我怎么能那么做? 有什么建议吗? 谢谢

  • 问题内容: 是否可以在常量数组前加上文字键=>值对?我知道array_unshift()可与数字键一起使用,但我希望能与文字键一起使用的东西。 例如,我想执行以下操作: 问题答案: 你不能只是做: ?