Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 03.08.2019, 21:32   #1
j238267431
 
Регистрация: 03.08.2019
Сообщений: 9
По умолчанию Начинающий

Товарищи не судите строго если моя проблема покажется вас уж слишком простой но я не нашел ответа на просторах интернета на него

Код:
<?php

$arr = [10,20,30,40];

foreach ($arr as $k) {

$k = (string) $k;
$st = $k[1];


if ($st = 1) {

	echo $st;
}
}
?>
Выводит четыре единицы а должно быть 10, т.е. по замыслу код должен проверять если в числе массива первая единица, то выводить это число
Подскажите что я делаю не так?
______________________
Форматируйте код и используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Подробнее в FAQ

Последний раз редактировалось Вадим Мошев; 03.08.2019 в 21:47.
j238267431 вне форума Ответить с цитированием
Старый 04.08.2019, 00:29   #2
Streletz
Старожил
 
Регистрация: 02.01.2014
Сообщений: 2,772
По умолчанию

Цитата:
Сообщение от j238267431 Посмотреть сообщение
Выводит четыре единицы а должно быть 10
А, что должно выводиться, если в if Вы фактически присваиваете $st значение 1?

В PHP , да и вообще в любых С-подобных языках "=" - это оператор присваивания. Оператор сравнения выглядит так "==". Кроме того в PHP первый байт строки имеет индекс 0, а не 1.

Также непонятно зачем Вы выводите именно первый символ строки, если хотите вывести её всю.

Если немного поправить и устранить эти недочёты, то из Вашего массива можно получить "10".

Код:
foreach ($arr as $k) {
    $k = (string) $k;    
    if ($k[0] == "1") {
	    echo $k;
    }
}
Streletz вне форума Ответить с цитированием
Старый 04.08.2019, 07:22   #3
j238267431
 
Регистрация: 03.08.2019
Сообщений: 9
По умолчанию

Все понял!
Спасибо большое!
j238267431 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Начинающий max816 Свободное общение 1 02.03.2012 09:39
начинающий Русtam PHP 11 29.06.2011 21:35
Я - начинающий Abuhalif Общие вопросы .NET 2 17.07.2008 04:37


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS