-1

私は変数を持っています

$message_days = 45; 62; 35;

変数を terminator で分解したい;。爆発させる方法は?

4

4 に答える 4

2

まず、単一の変数にこのような INT 値を割り当てることはできません

$message_days = 45; 62; 35;

全体$message_daysではなくのみを返すためです。45そして、あなたがexplode()機能する2番目のことは、文字列を文字列ごとに分割するために使用されます。したがって、これらの値の文字列を次のようにする必要があります。$_POST['text_field'] = 45; 62; 35;

$message_days = "45; 62; 35;";
また
$message_days = settype( $_POST["text_field"], "string")

次に、explode()関数を使用します。

アップデート:

あなたが言ったように、配列に int 値が必要な場合は、配列に整数値を返す次のコードを使用します。

//$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 );

http://codepad.org/LghB9tng

于 2013-10-23T10:59:10.707 に答える
1

変数が文字列の場合、次のようにすることができます

$message_days = '45; 62; 35;';
$arr = explode(';',$message_days);
print_r($arr);

それを整数として使用している場合は、それを行うことはできません。 $message_days = 45; 62; 35; の値は、 $message_days echo の場合は 45 になります。45で$message_days;あるため、分解すると、配列内で 45 になる値が 1 つだけ取得されます。

于 2013-10-23T10:53:49.500 に答える
0

入力としての $message_days が文字列の場合、使用します

$result = explode( ';', $message_days); 

提案されているように、それを爆発させます。

次に、結果を繰り返し、各文字列を次のように整数に変換します。

foreach( $result as $position => $value )
{
 $result[$pos] = intval( $value);
}

結果は整数の配列です。

于 2013-10-23T11:07:57.550 に答える