我有一个变量
$message_days = 45; 62; 35;
我想用 terminator 爆炸变量;
。怎么炸?
首先,您不能将这样的 INT 值分配给单个变量
$message_days = 45; 62; 35;
因为$message_days
只返回45
而不是整体。你的第二件事explode()
是用来逐个字符串分割一个字符串。所以你必须使这些值的字符串像,假设$_POST['text_field'] = 45; 62; 35;
$message_days = "45; 62; 35;";
或者
$message_days = settype( $_POST["text_field"], "string")
然后使用explode()函数。
//$message_days = "45;62;35";
$message_days = settype( $_POST["text_field"], "string")
OR
$message_days = "'" . $_POST["text_field"] . "'";
$output = array_map('intval', explode(';', $message_days));
var_dump( $output );
如果你的变量是一个字符串,你可以这样做
$message_days = '45; 62; 35;';
$arr = explode(';',$message_days);
print_r($arr);
如果您将其用作整数,则不能这样做。
$message_days = 45; 62; 35;
如果你回显它的值
$message_days
将是 45。因为$message_days;
如果你爆炸它是 45,你将在数组中只得到一个值,即 45。
如果 $message_days 作为您的输入是字符串,请使用
$result = explode( ';', $message_days);
按照建议将其爆炸。
然后迭代结果并将每个字符串转换为整数,如下所示:
foreach( $result as $position => $value )
{
$result[$pos] = intval( $value);
}
你的结果是一个整数数组。
<?php
$message_days = "45;62;35";
$output = explode(";",$message_days);
print_r($output);
?>