- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的数组:
Array (
[country_0] => E92000001
[country_1] => L93000001
[country_2] => M83000003
[county_0] => E10000002
[county_1] => E10000003
[county_2] => E10000006
[county_3] => E10000007
[gor_0] => A
[gor_1] => B
)
我想得到这样的东西:
Array
(
[country] => Array(
[0] => L93000001
[1] => M83000003
[2] => M83000003
)
[county] => Array(
[0] => E10000002
[1] => E10000003
[2] => E10000006
[3] => E10000007
)
[gor] => Array(
[0] => A
[1] => B
)
)
我目前的代码是这样的:
$converted_array = [];
foreach ($input as $key => $value) {
$underscore_position = strpos($key, "_"); //returns integer.
$stripped_key = substr($key, 0, $underscore_position); //returns word eg "country"
array_push($converted_array[$stripped_key], $value); //doesn't work
array_push($converted_array, $stripped_key[$value]); //doesn't work
array_push($converted_array, $stripped_key => $value); //doesn't work
}
print_r($converted_array);
我无法获得我的 array_push()
要上类了。我不断收到语法错误或非法偏移错误。
也许这不是最好的方法。我基本上是在尝试操纵隐藏的表单发布数据。每个隐藏字段看起来像这样:
<input name="country_0" type="hidden" value="E92000001">
country_
之后的数字只是为了保持每个输入的唯一性。所以也许有像<input name="country_E92000001" type="hidden" value="E92000001">
这样的东西会更好并进行某种数组键拼接。
那么我怎样才能让我的代码工作或者有更好的方法吗?
编辑:
要生成隐藏的输入字段,我使用以下代码:
<input name="<?php echo $key; ?>" type="hidden" value="<?php echo $subvalue; ?>">
因此,添加 []
给我一个 Cannot use [] for reading
错误。有什么办法可以解决吗?
最佳答案
只需将输入字段的名称属性更改为:
<input name="country[]" type="hidden" value="E92000001">
//^^
那么它会自动成为一个数组。
编辑:
从您更新的代码开始,您可以使用以下代码将 []
添加到名称中:
<input name="<?php echo strtok($key, "_") . "[]"; ?>" type="hidden" value="<?php echo $subvalue; ?>">
关于php - array_push() 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29916805/
如何在没有数字键的情况下推送新数组? $array = array('connect' => array('mydomain.com' => 1.99) ); $new_array['mynewdom
我需要使用 array_push 或类似的东西将一个数组添加到另一个数组中。 我想要实现的目标如下所示: $years = array( "2017" => array("Value01",
我的代码如下, $products = array(); for($i=0; $i < sizeof($sales); $i++){ if(!in_array($sales[$i]['Prod
我正在尝试将对象插入一个数组,最终得到一个像这样的对象数组: [ {"recipient_name":"John D", "phone_number":"123456"}, {"rec
需要有关laravel .each()方法中的array_push的帮助。我无法在此代码上获得容器数组: $imagesData = array(); collect($data['images'])
我正在尝试使用 array_push 合并两个具有自定义键的数组,但是当我使用 array_push 时,它会删除自定义键。 例如,如果我只是使用自定义键创建一个普通数组,它就可以正常工作: $pri
在 array_push 命令之后,数组 $response 为空,我不知道为什么。我测试了数组 $product 是否已填充,并且确实如此。 if (mysqli_num_rows($result)
这是我的数组: Array ( [country_0] => E92000001 [country_1] => L93000001 [country_2] => M83000003 [county_0
我有一个可以是多维的表。 "aggs": {"by_psh_time": {"terms": {"field":"date_ti
我有一个数组,上面有一个你喜欢的键值: $some_array['array_key'] = "some string"; 是否可以使用 array_push 向数组添加更多元素? 我试过这个: ar
我意识到这可能是一个非常简单的问题,但我需要知道如何在 PHP 中将一个值添加到多个数组。 (更好的方法) array_push($one, "hello"); array_push($two, "h
我不确定我的标题中的条款是否正确,但我正在尝试像这样做一个 php array_push array_push($countryList, "US" => "United States"); 但这给了
我正在尝试像这样扩展一个关联数组,但 PHP 不喜欢它。 我收到这条消息: Warning: array_push() expects parameter 1 to be array, null gi
对于数字索引数组来说,通过 array_push()函数向数组中添加元素。 array_push()函数将数组当成一个栈,将传入的变量压入该数组的末尾,该数组的长度将随着入栈变量数目的增加而增加,返
为什么没有回显“数组推送的元素”? function dofoo1() { $array = array("1aaa", "2bbbb", "3cccc"); $count = '
此代码运行后我收到错误消息。我查找了可能的解决方案,但所有内容的格式似乎都正确。 $searched = 'searched'; $count = '59'; $prop = Ar
我试图将一对变量“product_name”和“photos”(这是汽车照片的 URL)添加到一个数组中。我有一个 friend 说我的努力失败了,因为我正在推进一个平面阵列。我一直在寻找如何使用变量
下面我创建了 2 个数组: $album_permissions = array(); $result1 = mysql_query("select w_group from albums_permi
我正在尝试将数据从 MYSQL 数据库写入数组。其中一个数据值要求我将 unix 时间戳转换为日期时间。但是,我的输出以“0.1,0.2,..,1.1,1.2, etc...”的形式打印值我正在使用以
我当前的项目由多维数组组成,其中包含日期和一些文本内容。 我已经在我的项目中使用了普通数组,并且 array_push 用于将元素插入数组。不,我陷入了多维数组中,我不知道如何插入和显示多维数组(多维
我是一名优秀的程序员,十分优秀!