Добрый день, есть, к примеру, следующий код Код (PHP): <?php $array = array(1, 2, 3); $arrayCount = count($array); if ($arrayCount = 0) { echo 'Array doen\'t have any elements.'; } else { echo 'Array has ' . $arrayCount . ' elements.'; } . Почему выводится . Если я правильно понимаю, то в условие идет присвоение значения, так почему же тогда не . И второй пример кода Код (PHP): <?php for($i = 0; $i < 3; ++$i) { echo $i; } echo '<br>'; for($i = 0; $i < 3; $i++) { echo $i; } . Первый и второй цикл выведет . Если я правильно понимаю, то итератор $i в обеих циклах будет начинаться с 0, инкриментация перед $i или после значения не имеет, т.к. в любом случае операция инкриментирования будет выполнения перед вызовом следующего шага, я прав?
там одно равно. а это операция присваивания. соотв там теперь ноль живет. Добавлено спустя 1 минуту 48 секунд: во втром случае я думаю разницы не будет.
Я понимаю, что одно равно, поэтому и решил спросить, т.к. не понимаю немного, наверное. Если одно равно, то переменной $arrayCount мы присвоили 0, соответственно истина, поэтому должно быть . Почему же наоборот? Тут что-то еще с типами данных?
Я понимаю, что $arrayCount будет равно 0. Нужно, наверное, дебагером посмотреть, может быть, пойму тогда почему так...
Добрый день, есть еще одна задача. Дано, что есть число в десятичной системе исчисления, его нужно преобразовать в двоичную систему исчисления и проверить является ли оно палиндромом, не используя функции для работы со строками. У меня одна проблема. Как не используя функции для работы со строками развернуть число, чтобы проверить является ли оно палиндромом?
Код (PHP): $bin = ''; for ($i = strlen($result) - 1; $i >= 0; $i--){ $bin .= $result[$i]; } - не подходит. Как я написал выше, не используя функции для работы со строками. Для преобразования числа из десятичной системы исчисления в двоичную систему исчисления есть функция http://php.net/manual/en/function.strrev.html, но повторюсь, что функции для работы со строками использовать нельзя
Mr. T, если все остальное, что написал topas, кроме strlen, не является функциями обработки строки, то topas перепишет тебе strlen на свою strlen_by_topas =)
Слышал одним ухом, что это можно реализовать с помощью побитовых операторов, но могу ошибаться Update: Поискал в Гуугле, если я прав, то здесь нужно сделать битовый циклический сдвиг, только я пока что не знаю как это реализовать, буду дальше смотреть, но за ценные советы буду благодарен