我有这段代码
<?php
$numbers = "'10', '20', '30'";
$the_array = array($numbers);
$match = "20";
if (in_array($match, $the_array)) echo "OK";
?>
但是它没有用,所以如何定义 $ numbers 或 $ the_array 才能使其正常工作?如果我回显 $ numbers ,则会显示:
'10', '20', '30'
如果我这样说:
$the_array = array('10', '20', '30');
它有效,但它不像上面的代码那样工作。
提前致谢。
答案 0 :(得分:2)
您可以使用以下方式执行此操作:
<强> explode() 强>
$numbers = "'10', '20', '30'";
$the_array = explode("'", $numbers);
$match = "20";
if (in_array($match, $the_array)) echo "OK";
或与:
<强> str_getcsv() 强>
$numbers = "'10', '20', '30'";
$the_array = str_getcsv($numbers, "'");
$match = "20";
if (in_array($match, $the_array)) echo "OK";
答案 1 :(得分:0)
初始化$numbers
时,您没有将其初始化为具有三个值的数组,而是初始化为字符串。例如,如果您将其初始化为:
$numbers = "There are '12' inches in a foot";
你回应它,你会得到:
一只脚有“12英寸”
这是因为字符串被回显。这就是你做的。而是将$numbers
初始化为数组。如果您希望数组的元素是数字,请执行以下操作:
$numbers = array(10, 20, 30);
如果您希望它们成为字符串,请执行以下操作:
$numbers = array('10', '20', '30');