微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 PHP Explode 和 FOREACH - 每次尝试都会出现各种错误

如何解决使用 PHP Explode 和 FOREACH - 每次尝试都会出现各种错误

我正在通过 $form_data = $_POST['form_data']; 引入一些数据。我需要为每个值遍历这些数据,所以我认为 foreach 可能是我想要的。所以我开始:

vardump($form_data) 并查看: string(125) "Customer_FName=r&Customer_LName=r&Customer_MobileNumber=2&Customer_Email=r%40rco.com&Reservation_Message=&C_Preference_Notes=" 0

酷。所以它作为一个字符串进来。听起来像 $form_data_array=json_decode($form_data);

的工作

(我在 AJAX 中将类型设置为 JSON)但这给了我:“警告:为 foreach() 提供的参数无效....... NULL 0”

代码

    $form_data = $_POST['form_data'];
$form_data_array=json_decode($form_data);
    foreach ($form_data_array as $key => $data){
        $data->Customer_FName;
        $data->Customer_LName;
        $data->Customer_MobileNumber;
        $data->Customer_Email;
        $data->C_Preference_Notes;
    };
    

奇怪,所以对于explode来说可能是更好的工作。 所以:$form_data_array = explode("& ",$form_data); 这给了我“试图获取非对象的属性'Customer_FName'”的错误。 我 `vardump($form_data_array) 并看到它已将其拆分

array(6) { [0]=> string(16) "Customer_FName=r" [1]=> string(16) "Customer_LName=r" [2]=> string(23) "Customer_MobileNumber=2" [3]=> string(24) "Customer_Email=w%402.com" [4]=> string(20) "Reservation_Message=" [5]=> string(19) "C_Preference_Notes=" } 0

但仍然得到“试图获取非对象的属性'...'”

好的,现在我到达某个地方了!我将代码更改为:

$form_data = $_POST['form_data'];
$form_data_array = explode("&",$form_data);
foreach ($form_data_array as $key => $data){
    $data[Customer_FName];
    $data[Customer_LName];
    $data[Customer_MobileNumber];
    $data[Customer_Email];
    $data[C_Preference_Notes];
};
        

但是我收到每个“for each”的错误 - “警告:非法字符串偏移量'Customer_FName' in ... on line ...”

警告:使用未定义的常量 Customer_LName - 假定为 'Customer_LName'(这将在 PHP 的未来版本中引发错误) in ... 在线 ..."

回到爆炸的解码?

现在我没有想法了。我在这里错过了什么?

AJAX

        jQuery(document).on('submit','#ajax-add-to',function(e){
  e.preventDefault();
            var form = jQuery('#ajax-add-to');
            var form_data = form.serialize();
                        jQuery.ajax({
                        data: {action:'myaction',form_data:form_data},type: 'post',url: my_ajax.ajax_url,dataType: 'JSON',success: function(data){
                                      if(data.status == 'error'){
        console.log("[API] ERROR: "+data.message);
      }
      if(data.status == 'success'){
        console.log("[API] SUCCESS: "+data.message);
      }
                            }

}); 
    return false;
        
    });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。