如何从post获取正确的值作为数组?

时间:2018-05-30 03:12:29

标签: php wordpress

当我提交时,我有一个选择范围的搜索,在另一个页面上我做了:

<?php 
    $myId = $_POST['myDates'];
    echo $myId;
?>

这让我:

1664,1899

但如果我这样做:

query_posts(array(
    'post_type' => 'post',
    'meta_key'     => 'usp-custom-14',
    'meta_value'   => array( $myId ),
    'type'    => 'numeric',
    'meta_compare' => 'BETWEEN'
)

如果我手动插入数字,我将无法获得正确的结果:

query_posts(array(
    'post_type' => 'post',
    'meta_key'     => 'usp-custom-14',
    'meta_value'   => array( 1664,1899 ),
    'type'    => 'numeric',
    'meta_compare' => 'BETWEEN'
)

工作正常。看起来我在将数据值检索为数组时出错了。

如果我var_dummp($myid);,我会string(9) "1664,1899"

3 个答案:

答案 0 :(得分:2)

我认为你的$ myId已经是一个数组了,所以当你

$("#<%=YourButtonID.ClientID%>")

你基本上把数组包装成一个数组

'meta_value'   => array( $myId )

因此没有输出

尝试

'meta_value'   => array( array (1664,1899) )

答案 1 :(得分:0)

尝试(array) $myId$myId。对不起,我以为$ myId是数组

答案 2 :(得分:-1)

你需要爆炸你的字符串。

<?php 
    $myId = explode(",",$_POST['myDates']);
    echo $myId;
?>

也请修改你的变量名称,它们会产生误导。