gpt4 book ai didi

php - array_push() 抛出错误

转载 作者:行者123 更新时间:2023-11-28 04:52:15 26 4
gpt4 key购买 nike

这是我的数组:

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com