PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Undefined variable: sort (((
thefreedom
Отправлено: 27 Августа, 2020 - 09:15:51
Post Id



Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Всем дооброго дня.
Пытаюсь организовать сортироквку по разным колонкам с запоминанием.

PHP:
скопировать код в буфер обмена
  1. function cmp($a,$b)
  2. {
  3. return strcmp($a[2], $b[2]);
  4. }


Сортирует по второй колонке, вместо 2 нужно поставить функцию $sort = "2"; чтобы можно было использовать в дальнейшем для кнопочек сортировки:

PHP:
скопировать код в буфер обмена
  1. $sort = "2";
  2. function cmp($a,$b)
  3. {
  4. return strcmp($a[$sort], $b[$sort]);
  5. }


Вылетают ошибки Undefined variable: sort...... Может я что-то не так делаю и так просто в эту функцию нельзя вставлять данные ?!

Подскажите пож. как правильно ?(


usort($myArray, function($a, $b){
return strcmp($a[0], $b[0]);
});
Правильнее сказать можно ли как-то использовать всмето 0 0 любое значение через присвоение...

(Отредактировано автором: 27 Августа, 2020 - 14:54:45)

 
 Top
Vladimir Kheifets
Отправлено: 27 Августа, 2020 - 14:49:07
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 543
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 26 раз(а)




thefreedom пишет:
Всем дооброго дня.
Пытаюсь организовать сортироквку по разным колонкам с запоминанием.
....
PHP:
скопировать код в буфер обмена
  1. $sort = "2";
  2. function cmp($a,$b)
  3. {
  4. return strcmp($a[$sort], $b[$sort]);
  5. }


Вылетают ошибки Undefined variable: sort...... Может я что-то не так делаю и так просто в эту функцию нельзя вставлять данные ?!

Подскажите пож. как правильно ?(

Добрый день!
значение variable: $sort не передаётся в функцию.
Добавьте аргумент $sort в function cmp($a,$b,$sort),
а в самой функции сделайте сортировку.
Функция strcmp только сравнивает две строки.

Удачи!

(Отредактировано автором: 27 Августа, 2020 - 14:55:58)

 
 Top
thefreedom
Отправлено: 27 Августа, 2020 - 15:02:24
Post Id



Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Vladimir Kheifets пишет:
значение variable: $sort не передаётся в функцию.
Добавьте аргумент $sort в function cmp($a,$b,$sort),
а в самой функции сделайте сортировку.
Функция strcmp только сравнивает две строки.



Missing argument 3 for cmp() тогда ошибки о неправильном 3м аргументе (((

PHP:
скопировать код в буфер обмена
  1.  
  2. function cmp($a,$b,$sort)
  3. {
  4. return strcmp($a['$sort'], $b['$sort']);
  5. }
  6.  

(Отредактировано автором: 27 Августа, 2020 - 15:03:04)

 
 Top
Vladimir Kheifets
Отправлено: 27 Августа, 2020 - 15:31:56
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 543
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 26 раз(а)




thefreedom пишет:
Vladimir Kheifets пишет:
значение variable: $sort не передаётся в функцию.
Добавьте аргумент $sort в function cmp($a,$b,$sort),
а в самой функции сделайте сортировку.
Функция strcmp только сравнивает две строки.



Missing argument 3 for cmp() тогда ошибки о неправильном 3м аргументе (((

PHP:
скопировать код в буфер обмена
  1.  
  2. function cmp($a,$b,$sort)
  3. {
  4. return strcmp($a['$sort'], $b['$sort']);
  5. }
  6.  


При вызове функции должно указываться также три параметра cmp($a,$b,$sort)
Вроде Вы писали, хотите сделать сортировку.
Вас устраивает, что это функция возвращает результат сравнения строк.
Чем Вам не подходят стандартные функции PHP для сортировки по разным колонкам?

(Отредактировано автором: 27 Августа, 2020 - 15:34:56)

 
 Top
thefreedom
Отправлено: 27 Августа, 2020 - 15:53:24
Post Id



Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Vladimir Kheifets пишет:
thefreedom пишет:
Vladimir Kheifets пишет:
значение variable: $sort не передаётся в функцию.
Добавьте аргумент $sort в function cmp($a,$b,$sort),
а в самой функции сделайте сортировку.
Функция strcmp только сравнивает две строки.



Missing argument 3 for cmp() тогда ошибки о неправильном 3м аргументе (((

PHP:
скопировать код в буфер обмена
  1.  
  2. function cmp($a,$b,$sort)
  3. {
  4. return strcmp($a['$sort'], $b['$sort']);
  5. }
  6.  


При вызове функции должно указываться также три параметра cmp($a,$b,$sort)
Вроде Вы писали, хотите сделать сортировку.
Вас устраивает, что это функция возвращает результат сравнения строк.
Чем Вам не подходят стандартные функции PHP для сортировки по разным колонкам?


$sort = file_get_contents('sort.txt', true); к примеру в нем будет цифра 3 и подставить её туда. Я просто не настолько силен в PHP поэтому и написал на форуме (((
Нужно отсортировать по первой колонки и оставить так потом по 3 и чтобы оно сохранилось значение в файл к примеру 3 в след раз будет открываться и сразу читать что сортировать по 3ке

(Отредактировано автором: 27 Августа, 2020 - 15:55:33)

 
 Top
imbecile
Отправлено: 05 Сентября, 2020 - 03:36:17
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2020  


Помог: 0 раз(а)




плохому научу )
первой строкой в ф-ции cmp добавьте "global $sort;", $sort из параметров выкиньте
 
 Top
LIME
Отправлено: 06 Сентября, 2020 - 00:24:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 10685
Дата рег-ции: Нояб. 2010  


Помог: 321 раз(а)




imbecile нельзя
как потом повторно вызывать с другим сорт?? ересь полная
'$sort'
никого ничего не смущает? например интерпретиция строки в одинарных кавычках?


-----
DDD
 
 Top
imbecile
Отправлено: 11 Сентября, 2020 - 17:47:52
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2020  


Помог: 0 раз(а)




LIME пишет:
imbecile нельзя
как потом повторно вызывать с другим сорт?? ересь полная

присвоить другое значение $sort в глобальном scope, пожалуйста, перестаньте дуремарить ))
я бы, уж если так припёрло, обернул в класс и использовал бы обращение к свойству в колбэке
LIME пишет:
'$sort'
никого ничего не смущает? например интерпретиция строки в одинарных кавычках?

тс плохо понимает, что пишет
 
 Top
LIME
Отправлено: 11 Сентября, 2020 - 23:43:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 10685
Дата рег-ции: Нояб. 2010  


Помог: 321 раз(а)




imbecile пишет:
пожалуйста, перестаньте дуремарить ))
именно
переставай фигней страдать
imbecile пишет:
присвоить другое значение $sort в глобальном scope
это называется "шаблонный код"
тоесть тебе перед каждым вызовом надо будет непременно выставить правильный "$sort в глобальном scope", потому как даже если он такой же в следующем вызове, то что если он был изменен другим кодом?
он же глобальный
со всеми вытекающими
вот и будещь строки кода парочкой везде писать))
а еще может влезть какой-нибудь листенер/обсервер посреди работы и поменять $sort как ему будет вздумается
для кого умные дядьки области видимости придумывали а? хулиганье
(Добавление)
или наоборот
другой программист вот такой же умный тоже использует глобальный $sort в этом же проекте, но чуть глупее и не догадался перед каждым вызовом его выставлять(уже ржу)
ты же ему все сломаешь! айай
(Добавление)
$sort имячко-то довольно распространенное


-----
DDD
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB