PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (16): В начало « ... 4 5 6 7 [8] 9 10 11 12 ... » В конец
Найдено сообщений: 237
VenZell
Отправлено: 16 Июля, 2013 - 11:50:50 • Тема: Как превратить • Форум: Вопросы новичков
Ответов: 7 Просмотров: 271
EVOSandru6
Нигде его не надо брать... Попробуйте:
Может, так понятнее будет.
VenZell
Отправлено: 16 Июля, 2013 - 11:03:02 • Тема: Вопрос к программистам • Форум: Прочее
Ответов: 128 Просмотров: 3431
Я понял, в чем заковыка была.
Я перед функцией удалял все символы, кроме скобок. Цитирую сам себя:
И работал уже с этим массивом...
Добавил этот функционал в функцию плюс исправил ошибку, приводящую к тому, что функция возвращала null.
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
function checkBrackets( $str , $f = true ) {
$not_brs = '[^{}()\[\]]*' ;
$brs = ( $f ) ?
preg_replace ( '/' . $not_brs . '/i' , '' , $str ) : $str ; $readable_pattern = array ( 'correct_figure_brackets' => '{' . $not_brs . '}' ,
'correct_round_brackets' => '\(' . $not_brs . '\)' ,
'correct_square_brackets' => '\[' . $not_brs . '\]' ,
) ;
$pattern = '@' . implode ( '|' , $readable_pattern ) . '@iu' ; return checkBrackets( $cleaned_data , false ) ;
} else {
return ( empty ( $cleaned_data ) ) ?
true : false ; }
}
$input = array ( 'foo' , 'foo()' , ']' , '(){[]}[{()}]' ) ; foreach ( $input as $item ) {
}
/*
* boolean true
* boolean true
* boolean false
* boolean true
*/
VenZell
Отправлено: 16 Июля, 2013 - 09:55:13 • Тема: Вопрос к программистам • Форум: Прочее
Ответов: 128 Просмотров: 3431
EuGen , foo() - должно возвращать false? Но ведь скобки закрыты верно... Можно тогда уточнить условия задачи?
upd : а, все, понял. Речь о математических выражениях.
upd2 : нет, все-таки не понял... Вы же сами говорите "на правильных выражениях". Функция на ваших примерах возвращает true . Что не так?
На всякий случай выкладываю исправленный пример с return'ом вместо echo
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
'correct' => 'foo' ,
'wrong' => 'pqr[Gdz)/{asdasd\as{}(Hdx]'
) ;
function checkBrackets( $input ) {
$readable_pattern = array ( 'correct_figure_brackets' => '{[^\[\](){}]*}' ,
'correct_round_brackets' => '\([^\[\](){}]*\)' ,
'correct_square_brackets' => '\[[^\[\](){}]*\]' ,
) ;
$pattern = '@' . implode ( '|' , $readable_pattern ) . '@iu' ; checkBrackets( $cleaned_data ) ;
} else {
return ( empty ( $cleaned_data ) ) ?
true : false ; }
}
var_dump ( checkBrackets
( $testcase [ 'correct' ] ) ) ;
VenZell
Отправлено: 16 Июля, 2013 - 09:20:25 • Тема: Вопрос к программистам • Форум: Прочее
Ответов: 128 Просмотров: 3431
Мой вариант решения этой задачи. Далеко не самый оптимальный:
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
'correct' => 'abc([dy]*[dx]{asd}((tea{})asdasd)Fz)[ass{fuz}]' ,
'wrong' => 'pqr[Gdz)/{asdasd\as{}(Hdx]'
) ;
function checkBrackets( $input ) {
$readable_pattern = array ( 'correct_figure_brackets' => '{[^\[\](){}]*}' ,
'correct_round_brackets' => '\([^\[\](){}]*\)' ,
'correct_square_brackets' => '\[[^\[\](){}]*\]' ,
) ;
$pattern = '@' . implode ( '|' , $readable_pattern ) . '@iu' ; checkBrackets( $cleaned_data ) ;
} else {
echo ( empty ( $cleaned_data ) ) ?
'true' : 'false' ; }
}
checkBrackets( $testcase [ 'correct' ] ) ;
Попробую еще один вариант без регулярок сделать.
VenZell
Отправлено: 15 Июля, 2013 - 10:40:07 • Тема: Деление в PHP • Форум: Вопросы новичков
Ответов: 14 Просмотров: 556
darl , хороший только в том случае, если числа у вас >= 4 и делятся на 4 без остатка.
VenZell
Отправлено: 12 Июля, 2013 - 15:51:39 • Тема: Здраствуйте! Не могу создать БД • Форум: Вопросы новичков
Ответов: 16 Просмотров: 553
Сначала я подумал, что вы делаете это на своем компьютере. И хотел сказать (цитирую):
Замените это:
На вот это:
Однако, насколько я вижу, вы запускаете свой скрипт на хостинге, а поэтому мой ответ не имел смысла.
Я далеко не спец в MySQL - но судя по тексту ошибки, вы вводите неправильный логин и пароль.
VenZell
Отправлено: 12 Июля, 2013 - 15:45:47 • Тема: Проблема с Composer • Форум: PEAR и PECL
Ответов: 22 Просмотров: 11239
Crate , а все-таки попробуй через консоль OpenServer'а. Правой кнопкой по иконке в трее => Дополнительно => Консоль. Вот ради интереса хотя бы.
Страниц (16): В начало « ... 4 5 6 7 [8] 9 10 11 12 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB