【问题标题】:Store specific values from a multi-dimensional array存储多维数组中的特定值
【发布时间】:2013-03-24 10:18:09
【问题描述】:

这是我的数组:

Array
(
    [0] => Array
        (
            [0] => Received: from mout.perfora.net ([74.208.4.194]:64110)
            [1] => Received: from localhost (cpe-142-255-38-220.nyc.res.rr.com [142.255.38.220])
            [2] => From: xxxxx <phoneleash@gearandroid.com>
            [3] => To: 1v5z9hrt5z@thegrouptextshow.com
            [4] => Message-ID: <1113754192.698.1364695577947.JavaMail.javamailuser@localhost>
            [5] => References: <M38aa3cba44b8.+@gearandroid.com>
            [6] => Subject: Re: SMS: +
            [7] => MIME-Version: 1.0
            [8] => Content-Type: multipart/mixed; 
            [9] => X-PhoneLeash: <M38aa3cba44b8.+@gearandroid.com>
            [10] => Date: Sat, 30 Mar 2013 22:06:17 -0400
            [11] => X-Provags-ID: V02:K0:leU7uup/etOXU8iaKYpIvO81rtv82ALEDU7D1ZsEeqw
            [12] => Content-Type: multipart/alternative; 
            [13] => Content-Type: text/plain; charset=UTF-8
            [14] => Content-Transfer-Encoding: 7bit
            [15] => [Sent: 10:06 PM 03/30/2013]
            [16] => Content-Type: text/html; charset=UTF-8
            [17] => Content-Transfer-Encoding: 7bit
            [18] => <HTML><HEAD></HEAD><BODY style="background-color:#ffffff">C TN<br>---<br>Add // to the end of your reply<br>[Sent: 10:06 PM 03/30/2013]<hr><table style="margin: auto;"><tr><td><a href=https://www.facebook.com/share.php?u=http://www.facebook.com/phoneleash><img src="http://gearandroid.com/pics/fbshare.png"></a></td><font face="helvetica"><td><a href=https://www.facebook.com/share.php?u=http://www.facebook.com/phoneleash>Enjoy PhoneLeash? Let your FB friends know!</a></td></font></tr></table><br></BODY></HTML>
        )

    [1] => Array
        (
            [0] => Received
            [1] => Received
            [2] => From
            [3] => To
            [4] => Message-ID
            [5] => References
            [6] => Subject: Re: SMS
            [7] => MIME-Version
            [8] => Content-Type
            [9] => X-PhoneLeash
            [10] => Date
            [11] => X-Provags-ID
            [12] => Content-Type
            [13] => Content-Type
            [14] => Content-Transfer-Encoding
            [15] => [Sent
            [16] => Content-Type
            [17] => Content-Transfer-Encoding
            [18] => <HTML><HEAD></HEAD><BODY style="background-color:#ffffff">C TN<br>---<br>Add // to the end of your reply<br>[Sent: 10:06 PM 03/30/2013]<hr><table style="margin
        )

    [2] => Array
        (
            [0] => from mout.perfora.net ([74.208.4.194]:64110)
            [1] => from localhost (cpe-142-255-38-220.nyc.res.rr.com [142.255.38.220])
            [2] => xxx <phoneleash@gearandroid.com>
            [3] => 1v5z9hrt5z@thegrouptextshow.com
            [4] => <1113754192.698.1364695577947.JavaMail.javamailuser@localhost>
            [5] => <M38aa3cba44b8.+@gearandroid.com>
            [6] => xxxxxxx
            [7] => 1.0
            [8] => multipart/mixed; 
            [9] => <M38aa3cba44b8.xxxxx@gearandroid.com>
            [10] => Sat, 30 Mar 2013 22:06:17 -0400
            [11] => V02:K0:leU7uup/etOXU8iaKYpIvO81rtv82ALEDU7D1ZsEeqw
            [12] => multipart/alternative; 
            [13] => text/plain; charset=UTF-8
            [14] => 7bit
            [15] => 10:06 PM 03/30/2013]
            [16] => text/html; charset=UTF-8
            [17] => 7bit
            [18] => auto;"><tr><td><a href=https://www.facebook.com/share.php?u=http://www.facebook.com/phoneleash><img src="http://gearandroid.com/pics/fbshare.png"></a></td><font face="helvetica"><td><a href=https://www.facebook.com/share.php?u=http://www.facebook.com/phoneleash>Enjoy PhoneLeash? Let your FB friends know!</a></td></font></tr></table><br></BODY></HTML>
        )

)

我需要能够将[1][18][2][2][2][10][2][21] 的值存储到特定的变量中,以便我以后可以剪切其中除了实际文本之外的所有内容,然后将其存储为MYSQL 中的值。 This 有点帮助我,但我只需要我指定的 4 个元素的值。

【问题讨论】:

    标签: php mysql multidimensional-array foreach


    【解决方案1】:

    这成功了:

    require '../connect.php';
    $email = file_get_contents('php://stdin');
    preg_match_all("/(.*):\s(.*)\n/i", $email, $matches);
    
    $message    = $matches[1][18];
    $message    = str_replace('<HTML><HEAD></HEAD><BODY style="background-color:#ffffff">', '',$message);
    $message    = explode('<',$message);
    $message    = $message[0];
    $sender     = $matches[2][2];
    $sender     = explode('<',$sender); 
    $sender_id  = $sender[0];
    
    mysql_query("INSERT INTO `post` (`text`,`sender`,`text_stamp`,`post_date`,`post_time`) VALUES ('" . mysql_real_escape_string($message) . "','" . mysql_real_escape_string($sender_id) . "','" . mysql_real_escape_string($textdate) . "','$postdate','$posttime')") or die(mysql_error() . "<--There was error processing the query");
    

    【讨论】:

    • 嗨@user2218297,很高兴看到你最终成功了。我要发表的另一条评论是查看 PDO,使用准备好的语句和绑定查询,因为 mysql_* 函数现在已被弃用,并且可能会给您带来某些安全问题。
    【解决方案2】:

    您是否尝试过这样存储它们,$your_array 是上面保存数组的变量的名称?

    $var1 = $your_array[1][18];
    $var2 = $your_array[2][2];
    $var3 = $your_array[2][10];
    $var4 = $your_array[2][21];
    

    请记住,您在上面向我们展示的数组中没有 [2][21] 值。

    【讨论】:

    • 是的。 $var1、$var2 等最终充当指向数组及其元素的指针。因此,当我尝试将变量插入 mysql 数据库时,它作为数组插入,因此存储为空白字段
    • 只有当有人通过电子邮件发送附件时才会出现 [2][21]。
    • @user2218297:从上面的代码和您发布的$var1 等数据应该是数组中的实际值,而不是“指向数组的指针[s]”。如果上面的代码导致单词“Array”,那么您的数据格式与您在问题中发布的格式不同。
    • $email = file_get_contents('php://stdin'); preg_match_all("/(.*):\s(.*)\n/i", $email, $matches);这是我用来生成该数组的代码...我发布的那个数组称为“$matches”
    • 感谢您的帮助,我仍然没有得到价值。我找到了一个关于我正在做什么的教程,它有助于推动事情的发展。一旦我得到这个工作,我会回答这个问题。如果您想回来查看,我可能会在 11 点之前完成。尽管到目前为止感谢您的帮助,但您是男人
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 2021-03-27
    • 1970-01-01
    • 2019-10-28
    • 2011-10-22
    • 1970-01-01
    相关资源
    最近更新 更多