文字の位置に基づいて変数を分割したい。結果の最初の文字列には、指定された位置の前の前の位置が含まれている必要があり、他の文字列には他の部分が含まれている必要があります。
必要な変数があるとし$var = "2013AD";
ます
$var1 = 2013
とvar2 = 'AD'
。
どうすればこれを達成できますか?
文字の位置に基づいて変数を分割したい。結果の最初の文字列には、指定された位置の前の前の位置が含まれている必要があり、他の文字列には他の部分が含まれている必要があります。
必要な変数があるとし$var = "2013AD";
ます
$var1 = 2013
とvar2 = 'AD'
。
どうすればこれを達成できますか?
うーん...ここでoccamのカミソリに行きますが、substr ?
$var1 = substr($var, 0, 4);
$var2 = substr($var, 4);
substr 関数を使用できます
$var1 = substr($var, 0, 4);
$var2 = substr($var, 4);
preg_split()
withを使用し\K
て、文字列内のゼロ幅の位置で爆発させて、分割中に文字が失われないようにすることもできます。 \K
以前に一致した 1 つ以上の数字を忘れるように正規表現エンジンに指示します。 2
出力の要素数を最大 2 に制限します。
コード: (デモ)
$var = "2013AD";
[$year, $jesusStatus] = preg_split('~\d+\K~', $var, 2);
var_export($year);
echo "\n";
var_export($jesusStatus);
出力:
'2013'
'AD'