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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

Код:
<?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 в 22:47.
j238267431 вне форума   Ответить с цитированием
Старый 04.08.2019, 01:29   #2
Streletz
Профессионал
 
Регистрация: 03.01.2014
Сообщений: 2,675
Репутация: 1095
По умолчанию

Цитата:
Сообщение от 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, 08:22   #3
j238267431
 
Регистрация: 03.08.2019
Сообщений: 9
Репутация: 10
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


04:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.