MySQLのテーブルに対して正の一致に基づいて、アレイ内の特定の文字列を組み合わせる:同様Iは以下のように様々な長さの文字列からなる多次元アレイ有し
$a =
Array ([0]
Array ([0] AQWER, [1] CFG, [2] JUHTYREWQ, [3] K, [4] LO),
Array [1]
Array ([0] VFG, [1] yhtredw, [2] koeutydjwiq, [3] bg, [4] hytefs, [5] M),
Array [2]
Array ([0] BHTWQ, [1] BH, [2] NJUy))
を、Iは、MySQLテーブルは、次の値を含む有し
myTable
AQWER
CFG
JUHTYREWQ_K_LO
VFG
yhtredw
bg_hytefs
BHTWQ
BH_ NJUy
望ましい結果
私はそれがこのようになりますように、SQLテーブル内の一致に基づいて配列をテストし、定式しようとしています:
また、まだ見つからなかった値(例:
を私は1列、2列と3列の組み合わせをテストすることができるように私は$a
を操作するうえで大きな助けを受けた:私がこれまで試してみました何koeutydjwiq)
。
しかし、私のコードでは文字列の組み合わせ(配列とテーブルの両方にある)が正常に選択されず、結果として元の配列$a
が再フォーマットされず、理由がわかりません。
foreach ($a as $val) {
for ($i=0; $i<count($val); $i++) {
// A_B_C
if (isset($val[$i+2])) {
$exagon = array();
$exagon = $val[$i] . '_' . $val[$i+1] . '_' . $val[$i+2];
$conn = mysqli_connect("localhost:8889","root","root","myDB");
$query = "SELECT * FROM `myTable` WHERE LIST = '".$exagon."'";
$para = array(
);
$result = mysqli_query($conn, $query);
//echo $result;
while($row = mysqli_fetch_array($result)) {
$para[] = array($row['LIST']);
}
if (isset($para) && !empty($para)) {
print_r($para);
array_splice($a, $i, $i+2, $para);
$i=$i+2;
}
else {
unset($para);
unset($exagon);
}
}
// A_B
elseif (isset($val[$i+1])) {
$exagon = array();
$exagon = $val[$i] . '_' . $val[$i+1];
$conn = mysqli_connect("localhost:8889","root","root","myDB");
$query = "SELECT * FROM `myTable` WHERE LIST = '".$exagon."'";
$para = array(
);
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_array($result)) {
$para[] = array($row['LIST']);
}
if (isset($para) && !empty($para)) {
print_r($para);
array_splice($a, $i, $i+1, $para);
$i=$i+1;
}
else {
unset($para);
}
}
// A
else {
echo $val[$i];
}
}
}
確かに、研究を通じて、私が発見した投稿やマニュアルへ:IF文でprint_r($para)
を呼び出すときに、より具体的に実際に
、私はここで
.........
が私のコードで取得しますarray_spliceを使用してSQLのクエリで変数を呼び出す際に私を案内しますが、このコードには複数のエラーが存在する可能性があります
配列の上に罰金働いて、あなたの配列データと作業チェックのHello –
静的または動的である、それは再び私を助けるための静的 – Jacob