php - Codeigniter 关联数组 - 在 foreach 循环中更改数组名称

标签 php arrays forms

我已经为 codeigniter 表单设置了关联数组,并且遇到了围绕数据进行 foreach 循环的问题。

我有这段代码 - 我现在刚刚意识到我正在将变量名 $array_name 重新声明为数组而不是字符串,这就是这个代码不起作用的原因:

foreach ($search as $search_term){
$count++;
$array_name = '$search'.$count;

$array_name = array(
        'name'  => 'search'.$count,
        'id'    => 'search'.$count,
        'value' => set_value('search'.$count, $search_term),
        'maxlength' => 80,
        'size'  => 30,
        'class' => 'text-input',
);

}

然而,数组名称被记录为 $array_name 而不是 $search1,所以我显然做错了什么,我希望有人能指出我正确的方向!

我也尝试过这个:

foreach ($search as $search_term){
$count++;
$array_name = '$search'.$count;

'search'.$count = array(
        'name'  => 'search'.$count,
        'id'    => 'search'.$count,
        'value' => set_value('search'.$count, $search_term),
        'maxlength' => 80,
        'size'  => 30,
        'class' => 'text-input',
);

}

这就是我正在寻找的最终结果,但总共有六个:

$search1 = array(
        'name'  => 'search'.$count,
        'id'    => 'search'.$count,
        'value' => set_value('search'.$count, $search_term),
        'maxlength' => 80,
        'size'  => 30,
        'class' => 'text-input',
);
$search2 = array(
        'name'  => 'search2',
        'id'    => 'search2',
        'value' => set_value('search2, $search_term),
        'maxlength' => 80,
        'size'  => 30,
        'class' => 'text-input',
);

编辑1:

我刚刚意识到我正在将变量名 $array_name 重新声明为数组而不是字符串,这就是第一个不起作用的原因,但我仍然对如何做有点困惑它。

最佳答案

要使用动态字符串创建变量,请使用 ${'somestring'} =

foreach ($search as $search_term){
    $count++;
    $array_name = '$search'.$count;

    ${'search'.$count} = array(
        'name'  => 'search'.$count,
        'id'    => 'search'.$count,
        'value' => set_value('search'.$count, $search_term),
        'maxlength' => 80,
        'size'  => 30,
        'class' => 'text-input',
    );
}

虽然使用关联数组会更好

$searches = array();
foreach ($search as $search_term){
    $count++;
    $array_name = '$search'.$count;

    $searches['search'.$count] = array(
        'name'  => 'search'.$count,
        'id'    => 'search'.$count,
        'value' => set_value('search'.$count, $search_term),
        'maxlength' => 80,
        'size'  => 30,
        'class' => 'text-input',
    );
}

print_r( $searches );

关于php - Codeigniter 关联数组 - 在 foreach 循环中更改数组名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17990447/

相关文章:

c# - 如何检查可变长度字符串以查看它们是否以数组中的任何内容开头

python - 在python中查找一个文件中不在另一个文件中的所有数字

jquery - Twitter Bootstrap 模态表单提交

c# - C# 线程问题

php - 在 PHP 中动态创建/插入关联数组

php - 在 ANT 构建脚本中使用 Jenkins 和 PHP 代码嗅探器

objective-c - 可变数组,Objective-c,或可变数组,c。性能上有什么区别吗?

javascript - 按类别和元值查询帖子

php - 为什么 "Expires"是 1981 年?

php - PHP 中带有 PDO 语句的 print_r 应该返回什么?