Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от 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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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