Строка с несколькими разделителями - MySQL Insert строка за строкой - PullRequest
0 голосов
/ 21 января 2019

Я вставляю строку с несколькими разделителями и разделяю ее, используя функцию разнесения, для таблицы базы данных mysql, но мне не удалось построить правильную логику.

Я попытался с одним разделителем i-e и успешно вставил эту запись. Теперь я хочу разделить строку с | и.
Я использовал для разделения строк и | для разделения значений. я-е $var = "Facebook|http://facebook.com/123|12312|12 до 13,Twitter|http://twitter.com/231|12321|12 to 13";

$cat="2,3";
$i=0;
$arrayOfCategories = explode(",", $cat);
foreach ($arrayOfCategories as $categories) {
    $datas[$i]['UserID'] = 2;
    $datas[$i]['CatID'] = $categories;
    $i++;
}
var_dump($datas);

Формат, показанный с использованием var_dump - это формат, который я хочу вставить, используя insert_batch codeigniter.

Это ожидаемый результат

   array (size=2) 
    0 => array (size=2) 
        'SocialName' => string 'Facebook' 
        'URL' => string 'facebook.com/123' 
    1 => array (size=2) 
        'SocialName' => string 'Twitter' 
        'URL' => string 'twitter.com/231'

1 Ответ

0 голосов
/ 21 января 2019
$array = array();
$string = "Facebook|http://facebook.com/123|12312|12 to 13,Twitter|http://twitter.com/231|12321|12 to 13";

$rows = explode(',', $string);

foreach ($rows as $row) {
    $values = explode('|', $row);
    $array[] = array('SocialName' => $values[0], 'URL' => $values[1]);
}

var_dump($array);

Создать массив $array для хранения окончательного результата.

Теперь, разделите входную строку $string на ,, используя Explode, это даст вам «строки».

Пройдите по всем строкам (foreach) и разбейте каждую строку на | (взорвитесь), это даст вам «значения».

Первое значение $values[0] - это "SocialName", а второе значение $values[1] - это "URL", поэтому добавьте их в новый массив и добавьте этот новый массив в массив конечных результатов $array.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...