为了账号安全,请及时绑定邮箱和手机立即绑定

使用 for 或 foreach 循环完成的关联数组创建 WordPress 更新查询

使用 for 或 foreach 循环完成的关联数组创建 WordPress 更新查询

PHP
呼如林 2023-10-21 20:00:44
我想通过循环创建一个关联数组以将其添加到更新中。我遇到的问题是,我不知道如何遍历两个数组的每个元素来创建关联数组以放入更新查询中。您可以在这里看到我将数组放入更新查询中的另一个数组中,但这是错误的。我有以下例子:$table = 'name';$data = [$_POST['eleicons'], $_POST['elepro'], $_POST['elefont'], $_POST['eleanimations']];$names = ['eleicons', 'elepro', 'elefont', 'eleanimations'];$counter = 0;update($table,array(foreach($name as $one => $dat){$one => $dat[$counter],$counter++;}),array('id' => 0));正如我所说,该数组是关联的。更新函数应该如下所示:update($table,array($name[0] => $data[0],$name[1] => $data[1],$name[2] => $data[2],$name[3] => $data[3],),array('id' => 0));但我想这样做:update($table,$array_associative,array('id' => 0));
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

$names您可以从您的和 中创建一个关联数组,$data如下所示:


$count = sizeof($names);    // Get the number of elements in the arrays

// for each element, add the name as the key and the data as the value:

for($i=0; $i<$count; $i++)

    $associative_array[$names[$i]] = $data[$i];

这将创建一个像这样的数组:


Array

(

    [eleicons] => icons data

    [elepro] => pro data

    [elefont] => font data

    [eleanimations] => animations data

)

您可以在这里看到输出(当然使用虚拟数据):https ://sandbox.onlinephpfunctions.com/code/68c5f0a92b33625c437e4c5b9ef17c6f9b2ec4bb


或者,当您使用 时$_POST,您可以这样创建数组:


foreach($names as $key)

    $associative_array[$key] = $_POST[$key];

整个代码将是:


$table = 'name';

$names = array('eleicons', 'elepro', 'elefont', 'eleanimations');    

$associative_array = array();


foreach($names as $key)

    $associative_array[$key] = $_POST[$key];


update($table,

       $associative_array,

       array('id' => 0));

重要的提示:


您正在代码中使用tableand ,因此如果您要将其添加到数据库中,则应该在将其添加到数据库之前清理所有用户提供的数据,否则您很容易受到 SQL 注入的影响。update


查看完整回答
反对 回复 2023-10-21
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信