Я пытаюсь узнать, существует ли имя в моем массиве, который я получил из своей таблицы базы данных. Массив содержит все поле имени таблицы members
Однако при использовании функции in_array()
результат любого поиска всегда ложный.
Вот как выглядит массив
Array ( [0] => Array ( [name] => Jane )
[1] => Array ( [name] => Kelvin )
[2] => Array ( [name] => James )
[3] => Array ( [name] => Leon )
[4] => Array ( [name] => Steve )
[5] => Array ( [name] => Jenifer )
)
А вот мой php-код, чтобы проверить, существует ли имя
<?php
require_once 'databaseconn.php';
#To get connection
$mysqli = new mysqli($db_hostname, $db_username, $db_password,$db_database);
#To get array of names from my database
$stmt = $mysqli-> prepare('SELECT name FROM members WHERE id');
$stmt->execute();
$result = $stmt->get_result();
#To store result as array in variable $application_names
while ($row = $result->fetch_assoc()) {
$member_names[] = $row;
}
#To test if name exists
$name = "Jane";
if (in_array($name, $member_names))
{
echo "Match found";
}
else
{
echo "Match not found";
}
?>
Подсказка: if (in_array($name, array_coumn($member_names, "Name")))
<?php
require_once 'databaseconn.php';
#To get connection
$mysqli = new mysqli($db_hostname, $db_username, $db_password,$db_database);
#To get array of names from my database
$stmt = $mysqli-> prepare('SELECT name FROM members WHERE id');
$stmt->execute();
$result = $stmt->get_result();
#To store result as array in variable $application_names
while ($row = $result->fetch_assoc()) {
$application_names[] = $row;
}
#To test if name exists
$name = "Jane";
$flatArr = [];
foreach ($member_names as $memberArr) {
if(isset($memberArr['name'])) {
$flatArr[] = $memberArr['name'];
}
}
if (in_array($name, $flatArr))
{
echo "Match found for: " . $name;
}
else
{
echo "Match not found for: " . $name;
}
?>
где определяется
$member_names
?