TEL:400-8793-956
当前位置:程序、服务器

从非序列化对象中提取字符串 (PHP)

提问者: 近期获赞: 浏览人数: 发布时间:2022-02-14 09:47:19

 问:我在 PHP 中反序列化了一个对象,它给出了以下输出。我想从索引中提取 2 个 URL(或者有多少个)[file_url]并将它们存储到数据库中(通过执行一个foreach然后INSERT INTO通过 SQL?)。谁能告诉我实现这一目标的最佳方法?我以前从未使用过序列化/反序列化对象。

 
Array
(
    [file] => Array
        (
            [success] => 1
            [file_url] => Array
                (
                    [0] => https://example.com/wp-content/uploads/2022/02/test1.png
                    [1] => https://example.com/wp-content/uploads/2022/02/test2.jpg
                )
 
            [file_path] => Array
                (
                    [0] => /var/www/html/wp-content/uploads/2022/02/test1.png
                    [1] => /var/www/html/wp-content/uploads/2022/02/test2.jpg
                )
 
        )
 
)
 
答:您可以简单地使用索引。就像是
 
$value = $arr['file'][x][y]
 
这是一个多维数组。准确地说,它是一个 3 维数组。
 
例子:
 
$value = $arr['file']['success']
$value = $arr['file']['file_path'][0]
你也可以做
 
$value = $arr['file'][0]
 
其他维度数组的示例
 
$cars = array (
  array("Volvo",22,18),
  array("BMW",15,13),
);
用 SQL 吗?
当然,使用 PDO 和 bindParam 来实现清晰的安全性
 
$query = $con->prepare("UPDATE nearly_inactive SET :email = :emailaddr WHERE EmailSent = :id");
$query->bindParam(':email', $email, PDO::PARAM_STR);
$query->bindParam(':emailaddr', $emailaddr, PDO::PARAM_STR);
$query->bindParam(':id', $id, PDO::PARAM_STR);
$update->execute(); 
上一篇: Javascript - 访问关联数组值时出错
下一篇: 为什么 PHP 按值而不是按引用将数组推入另一个数组?