Резерв имен

DV

Guest
SiMM
Это называется метод тыка и так ты реально ничему не научишься. Нет, не потому, что занимаешься разбором чужого кода - а потому, что учишься методом прибавим/убавим. Надо понимать каждую строчку кода, а не танцевать над ним с бубном.
А не кто про бубен и не говорил, покрайней мере я понял 95% кода, который написал IL78, без бубнов. Может у нас с Вами разный подход к обучению, и методом тыка я смогу разобраться лучше, чем вы прочитав 10 книг...

-~{}~ 25.07.04 14:49:

SiMM
функция бы выглядела более читабельной (по крайней мере - добавить/убавить элемент было бы гораздо проще), если бы ты использовал [m]strtr[/m] (example 2) вместо [m]str_replace[/m]
Вот с этим согласен, учту при написании своего.;)
 

IL78

Guest
SiMM
интуитивно функция должна возвращать строку
Интуитивно так, но ведь при проверке нужно сравнивать каждое слово с каждым, а для этого удобнее использовать массив слов. Впрочем, действительно, можно ведь делать explode в ф-ции сравнения. Наверное, так будет правильнее, спасибо.

Про strtr я сам думал, но возникли сомнения, надежны ли русские буквы в качестве ключей массива (особенно с учетом того, что одна из целей этой ф-ции - независимость от локали).

DV
Когда будешь делать свой вариант, подумай, как сделать, чтобы строки "ИвановИван" и "Иванов Иван" давали результат "имена похожи". Мою ф-цию такие строки легко обманывают.
 

DV

Guest
Я не пойму, почему не работает
$b2g = array(
array('А','a','A') => 'а',
array('Б','6') => 'б',
array('В','B') => 'в',
array('Г','r') => 'г'
);

strtr($name,$b2g);
 

SiMM

Новичок
Автор оригинала: IL78
Про strtr я сам думал, но возникли сомнения, надежны ли русские буквы в качестве ключей массива (особенно с учетом того, что одна из целей этой ф-ции - независимость от локали).
Без разницы - ключи, как и значения элементов массива, регистрозависимы, т.е. в некотором смысле бинарнобезопасны.
PHP:
$x=array('a'=>'A','A'=>'a');
print_r($x);
Если бы это было не так, ты бы увидел лишь один элемент массива - где-то в дебрях мануала должно быть что-то написано на эту тему.

-~{}~ 25.07.04 21:49:

Автор оригинала: DV
Я не пойму, почему не работает
И не должно - учи синтаксис, посмотри, что у функции должно быть на входе - там не говориться о массиве массивов. У тебя должны быть пары - ключ=>значение, при чём ни ключ, ни значение, не могут быть массивами (ключ вообще никогда не может быть массивом).
 

DV

Guest
SiMM
Это что получасется, надо каждую букву:
(латнская) 'А' => 'a',
(русская) 'A' => 'a', и т.д. ??
 

rembo

Новичок
А что мешает дописать в гостевой?

Вопрос такой-то

Спросил гость с ником: Админ

Ответ такой-то

Ответил админ с ником: Админ
 

Orlis

Guest
Думаю, что лучше создать функцию перевода в транслит и обратно, чтобы не мучаться с очень похожими именами в смеси кириллицы и латиницы.
 
Сверху