PHP: цикл foreach присваивает значения массива объединенной строке и переменной - PullRequest
0 голосов
/ 18 мая 2018

Я хочу присвоить значения массива строке с переменной:

    $my_array_values = array("apple", "orange", "cellular", "box");

//my function
function my_function ($my_array_values, $string) {
foreach ($my_array_values as $my_array_value) {
$string_query = $string;
 echo $string_query . "<br>";
}
}

//string to loop the variable inside the foreach
$string_variable = "SELECT login FROM table WHERE login = '" . $my_array_value . "'";
my_function ($my_array_values, $string_variable);

Если я повторю это, результат будет таким (не принимая значения массива переменной):

    SELECT login FROM table WHERE login = ''
SELECT login FROM table WHERE login = ''
SELECT login FROM table WHERE login = ''
SELECT login FROM table WHERE login = ''

Результат должен быть таким:

    SELECT login FROM table WHERE login = 'apple'
SELECT login FROM table WHERE login = 'orange'
SELECT login FROM table WHERE login = 'cellular'
SELECT login FROM table WHERE login = 'box'

Как я могу это сделать?С уважением

Ответы [ 3 ]

0 голосов
/ 18 мая 2018

Нет необходимости создавать дополнительные переменные в вашей функции.Просто отобразите то, что было передано вместе со значением, извлеченным из массива, который был передан.

$my_array_values = array("apple", "orange", "cellular", "box");

//my function
function my_function ($my_array_values, $string) {

    foreach ($my_array_values as $my_array_value) {
        echo $string . $my_array_value . "'<br>";
    }

}  // end of my_function

//string to loop the variable inside the foreach
$string_variable = "SELECT login FROM table WHERE login = '";
my_function ($my_array_values, $string_variable);
0 голосов
/ 18 мая 2018

Чего вы пытаетесь достичь?Функция MySQL IN ищет значения «IN» для подмножества или другого пула информации.

$query= "SELECT login FROM table WHERE login IN ({implode(',', $my_array_values)})";

Это было бы проще, чем повторять циклы снова и снова?

0 голосов
/ 18 мая 2018

Правильный путь таков:

$my_array_values = array("apple", "orange", "cellular", "box");

//my function
function my_function ($my_array_values, $string) {
  foreach ($my_array_values as $my_array_value) {
    $string_query = $string . $my_array_value . "'";
     echo $string_query . "<br>";
  }
}

//string to loop the variable inside the foreach
$string_variable = "SELECT login FROM table WHERE login = '" ;
my_function ($my_array_values, $string_variable);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...