从数组PHP remove元素不能正常工作

问题描述 投票:0回答:2

我想删除使用未设置从数组Product元素,但它不工作。此外,需要插入使用MySQL这个数组。我怎样才能做到这一点?

unset( $ar2['Product'] );
        print_r($ar2);

结果与Product显示

Array
(
    [0] => Array
        (
            [Product] => Resume, CV, vCard & Portfolio HTML5 Template
            [Price] => 10
            [Img] => http://localhost/envy-theme-new/wp-content/uploads/2019/01/cv.jpg
        )

    [1] => Array
        (
            [Product] => Runhill – Multipurpose Construction WP Theme
            [Price] => 39
        )
)
php mysql arrays associative-array
2个回答
0
投票

你的代码应该是

foreach ($ar2 as $array) {
    unset( $array['Product'] );
}

既然你需要从第一阵列中的每个元素取消设置键product

并插入它,你可以使用插入查询相同的循环中。

foreach ($ar2 as $array) {
    unset( $array['Product'] );
    $sql = "insert into table_name column1,column2 values ($array['Price'],$array['Img'];";
}

我假设你知道如何插入值到MySQL。

否则,使用下面的教程。

https://www.w3schools.com/php/php_mysql_insert.asp

编辑

用你的循环内的代码删除多个键。

$keys = array('key1', 'key2');///all the keys you need to remove

foreach($keys as $key) {
   unset($arr[$key]);
}

0
投票

@kane在你的代码中的错误是,你不能访问正确的数组索引。

Array
(
    [0] => Array
        (
            [Product] => Resume, CV, vCard & Portfolio HTML5 Template
            [Price] => 10
            [Img] => http://localhost/envy-theme-new/wp-content/uploads/2019/01/cv.jpg
        )

    [1] => Array
        (
            [Product] => Runhill – Multipurpose Construction WP Theme
            [Price] => 39
        )
)

在你的阵列产品指标数值指标,即发生后,您可以使用Yasii的办法,或者你可以尝试array_map遍历数组并取消产品密钥的阵列上。

<?php
$data=array(
        array(
            'Product' => 'Resume, CV, vCard & Portfolio HTML5 Template',
            'Price' => 10,
            'Img' => 'http://localhost/envy-theme-new/wp-content/uploads/2019/01/cv.jpg'
        ),
        array(
            'Product' => 'Runhill – Multipurpose Construction WP Theme',
            'Price' => 39
        )
);
$data = array_map(function($arr){
    unset($arr['Product']);
    return $arr;
}, $data);

echo '<pre>';
var_dump($data);

至于插入PHP数组MySQL数据库,你需要创建数组值的INSERT语句,并具有处理缺失索引值,如“图”键值缺少您的第二子阵的阵

使用数组之前,了解在PHP中使用此阵的最佳方式:https://code.tutsplus.com/tutorials/working-with-php-arrays-in-the-right-way--cms-28606

用mysql分机将数据插入到数据库中PHP7不再支持。请改用PDO。

类似的查询在这里回答:Insert array into MySQL database with PHP

PDO教程:https://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059

© www.soinside.com 2019 - 2024. All rights reserved.