MySQLに挿入する前に配列から値を変換したい。次のコードを使用しましたが、一部のケース(2_AAA、2_AAA_1)でのみ機能し、ケース(2_AA_B、2_AA_B_1、AA_AB)では機能しません。
$vars = array('val' => '2_AAA',
'val' => '2_AAA_1',
'val' => '2_AA_B',
'val' => '2_AA_B_1',
'val' => 'AA_AB');
foreach ($vars as $v):
$vArr = explode('_', $v['val']);
if (is_numeric($vArr[0]) && count($vArr[0])) {
$vid = $vArr[0];
$name = trim($vArr[1]);
$name_real = $var;
} else {
$vid = 0;
$name = $v['val'];
$name_real = $v['val'];
}
echo "VID -->" . $vid . "\n";
echo "NAME -->" . $vArr[0] . "\n";
echo "NAME_REAL -->" . $name_real . "\n";
endforeach;
この配列から次の結果を取得したい
//VID -->2
//NAME -->AAA
//NAME_REAL -->2_AAA
//VID -->2
//NAME -->AAA
//NAME_REAL -->2_AAA_1
//VID -->2
//NAME -->AA_B
//NAME_REAL -->2_AA_B
//VID -->2
//NAME -->AA_B
//NAME_REAL -->2_AA_B_1
//VID -->0
//NAME -->AA_AB
//NAME_REAL -->AA_AB
名前の前にプレフィックスを付けることができない場合、VIDは0です。
どうすればこれを作ることができますか?
前もって感謝します !