PHPで2つの多次元配列から3つの項目を取り出し、MySQLに1行ずつ格納したいです。
$matches = Array ( [0] => Array ( [0] => <a class="username" href="/x/xx/2248111">mirakuru</a> [1] => <a class="username" href="/x/xx/1744643">T14112</a> [2] => <a class="username" href="/x/xx/26424">ぁゅ</a> [3] => <a class="username" href="/x/xx/127165">k20.112</a> ) [1] => Array ( [0] => 2248111 [1] => 1744643 [2] => 26424 [3] => 127165 ) [2] => Array ( [0] => mirakuru [1] => T14112 [2] => ぁゅ [3] => k20.112 ) )
$date = Array ( [0] => Array ( [0] => <td class="proposed"> 2018/10/17 23:58 </td> [1] => <td class="proposed"> 2018/10/17 21:35 </td> [2] => <td class="proposed"> 2018/10/17 19:59 </td> [3] => <td class="proposed"> 2018/10/17 17:17 </td> ) [1] => Array ( [0] => 2018/10/17 23:58 [1] => 2018/10/17 21:35 [2] => 2018/10/17 19:59 [3] => 2018/10/17 17:17 ) )
name | url | job | date |
---|---|---|---|
mirakuru | https://hoge/hoge | 2248111 | 2018/10/17 23:58 |
T14112 | https://hoge/hoge | 1744643 | 2018/10/17 21:35 |
ぁゅ | https://hoge/hoge | 26424 | 2018/10/17 19:59 |
k20.112 | https://hoge/hoge | 127165 | 2018/10/17 17:17 |
という結果を得たいので、foreachでINSERTしてみました(jobのURLは固定です)
php
1 foreach($matches[2] as $key => $name) { 2 $number = $matches[1][$key]; 3 $date = $date[1][$key]; 4 $job = "https://hoge/hoge"; 5 $query = "INSERT INTO jobs (name,url,job,date) "; 6 $query.= "VALUES ('$name','$number','$job','$date')"; 7 8 $result = mysqli_query($connection, $query); 9 10 if(!$result) { 11 12 die('Query FAILED' . mysqli_error()); 13 14 } 15 16 }
得られた結果
name | url | job | date |
---|---|---|---|
mirakuru | https://hoge/hoge | 2248111 | 2018/10/17 23:58 |
T14112 | https://hoge/hoge | 1744643 | |
ぁゅ | https://hoge/hoge | 26424 | |
k20.112 | https://hoge/hoge | 127165 |
ということで、dateが一行のみしか追加されないので、残り3行の日付も追加したいです。
foreach文の$dateの入れ方が無理くりすぎるとは思っていますが、、
とりあえず1つは格納されたので今の実力ではこれが限界でした。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー