Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
43 / 43 / 25
Регистрация: 21.07.2013
Сообщений: 367

Переменная не проходит проверку на пустоту

12.09.2024, 10:45. Показов 616. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всё перепробовал и никак не могу понять почему пустая переменная срабатывает тогда когда не должна срабатывать

делаю загрузку из csv

вот код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//$data[$g] это значение ячейки, она точно пустая
// var_dump($data[$g]) вернул string(0)
 
//пробовал разные варианты проверки
 
$char_val = '';
$char_val = $data[$g];
 
if($char_val != '')
{
      echo 1;
}
else
{
      echo 0;
}
 
 
if(strlen(trim($char_val)) > 1)
{
      echo 1;
}
else
{
      echo 0;
}
 
 
if(!empty($char_val))
{
      echo 1;
}
else
{
      echo 0;
}

У меня всегда возвращает "1"

не могу понять в чём дело
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.09.2024, 10:45
Ответы с готовыми решениями:

MaskedTextBox не проходит проверку на пустоту
Приветствую всех. Это опять я. Я же не знал, что в программировании столько всяких нюансов и проблем. Так вот. На форме есть...

Проверку полей на не пустоту
Есть много Едитов на форме, мне нужно сделать как бы проверку полей на не пустоту, то есть, у меня есть код который не даёт заполнить базу,...

Не делает проверку на пустоту форм
Всем доброго времени суток! Помогите разобраться с проблемой.. PHP код не делает проверку на пустоту полей. В коде прописано, если поле...

9
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
12.09.2024, 11:21
Цитата Сообщение от kvant355 Посмотреть сообщение
У меня всегда возвращает "1"
Значит точно не пустая. Надо смотреть код, может в циклах где запутались и проверяете не то значение.

Цитата Сообщение от kvant355 Посмотреть сообщение
PHP
1
// var_dump($data[$g]) вернул string(0)
А что будет, если так?

PHP
1
2
3
if (!empty($data[$g])) {
    var_dump($data[$g]); die();
}
0
43 / 43 / 25
Регистрация: 21.07.2013
Сообщений: 367
12.09.2024, 12:40  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
Значит точно не пустая. Надо смотреть код, может в циклах где запутались и проверяете не то значение.
я тоже так думал и по этому перед записью нового значения (обратите внимание в коде) присвоил этой переменной пустое
PHP
1
2
$char_val = '';
$char_val = $data[$g];
0
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
12.09.2024, 13:16
Цитата Сообщение от kvant355 Посмотреть сообщение
if(strlen(trim($char_val)) > 1)
попробуйте
PHP
1
if(strlen(trim($char_val)) > 0)
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
12.09.2024, 13:19
Цитата Сообщение от kvant355 Посмотреть сообщение
я тоже так думал и по этому перед записью нового значения (обратите внимание в коде) присвоил этой переменной пустое
Важно что лежит в $data[$g];
То что вы написали, что там пусто - нужно еще проверить, так как тут явное противоречие. Php врать не будет, если говорит, что там не пусто, значит так оно и есть. Я просто предполагаю, что скорее всего вы где-то запутались в коде. Нужно его посмотреть. Если не будете отвечать на вопросы, будет очень сложно помочь)
0
43 / 43 / 25
Регистрация: 21.07.2013
Сообщений: 367
12.09.2024, 13:40  [ТС]
вот строка CSV
Code
1
"Электроустановочные изделия||JUNG||Управление климатом","1735DS","Регулятор частоты вращения для вентиляторов Jung 1735DS","1","0","https://jungstore.ru/wa-data/public/shop/products/29/51/25129/images/14930/14930.970.png","","","","","","","",""
она преобразовывается в массив

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 [0] => Array
        (
            [0] => Электроустановочные изделия||JUNG||Управление климатом
            [1] => 1735DS
            [2] => Регулятор частоты вращения для вентиляторов Jung 1735DS
            [3] => 1
            [4] => 0
            [5] => https://jungstore.ru/wa-data/public/shop/products/29/51/25129/images/14930/14930.970.png
            [6] => 
            [7] => 
            [8] => 
            [9] => 
            [10] => 
            [11] => 
            [12] => 
            [13] => 
        )
где то поля с 6 по 13 заполнены, а где то пустые, если заполнено пишем в базу, если нет - пропускаем
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
12.09.2024, 14:03
Цитата Сообщение от kvant355 Посмотреть сообщение
где то поля с 6 по 13 заполнены, а где то пустые, если заполнено пишем в базу, если нет - пропускаем
Покажите код.
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
12.09.2024, 14:03
Цитата Сообщение от kvant355 Посмотреть сообщение
где то поля с 6 по 13 заполнены, а где то пустые, если заполнено пишем в базу, если нет - пропускаем
Покажите код.
0
Надуваю лягушек
Эксперт PHP
 Аватар для Царь Бабай
289 / 219 / 93
Регистрация: 01.05.2014
Сообщений: 742
12.09.2024, 17:05
Наподобии такого:
PHP
1
$char_val = $data[0][13];
0
1306 / 781 / 190
Регистрация: 19.09.2020
Сообщений: 1,993
13.09.2024, 18:08
Цитата Сообщение от kvant355 Посмотреть сообщение
не могу понять в чём дело
Перед if сделайте же вывод непосредственно:

PHP
1
2
var_dump($char_val);
if($char_val != '')...
Это первый способ. Второй - пройтись xDebug по коду, это хороший инструмент отладки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.09.2024, 18:08
Помогаю со студенческими работами здесь

Как сделать проверку на пустоту
Здравствуйте, такой вопрос, как взять только четные строки таблицы

Привязать проверку на пустоту к клику мышкой
Здравствуйте,программирую игру Пятнашки на питоне. Сделал canvas 500х500,сделал поле from Tkinter import * root = Tk() canv =...

Нужно сделать проверку на пустоту стека
В конце программы нужно сделать проверку на пустоту стека!Помогите! program Pointer7; type PNode=^TNode; TNode=record ...

Реализовать проверку двух TextBox на пустоту
добрый день. Подскажите, пожалуйста, как реализовать проверку двух текстбоксов по такому принципу: если оба пустые нет проверки, а если...

Нужно сделать проверку введённых данных на пустоту.
Ребятки , проблема с регистрацией . В общем если не все поля заполнены регистрация проводится . Помогите сделать чтобы если не введено ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru