Форум портала Metropolis Галерея   
Добро пожаловать. Пожалуйста, войдите или зарегистрируйтесь.
16 Июнь 2024, 10:03 *

Правила Форума
 
   Начало   Помощь Поиск Правила Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос по PHP.  (Прочитано 17112 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dimson
Житель форума
*****

Репутация: 82
Сообщений: 538


WWW
: 14 Февраль 2011, 14:39

Код:
Код:
<?php
$A
[0] = array("name"=>"Ivaniv P.P.""age"=>"25""email"=>"ivanov@mail.ru");
$A[1] = array("name"=>"Petrov I.I.""age"=>"35""email"=>"petrov@mail.ru");
$A[2] = array("name"=>"Sidorov S.S.""age"=>"47""email"=>"sidorov@mail.ru");
$i=0;
while(
$i<3){
if (
$A[$i]["age"]==25);
{
echo 
$A[$i]["name"];
echo 
"<br>";
}
$i++;
}
?>

В общем надо что бы из массива выводились "name" которые подподают под условие $A[$i]["age"]==25, а выводятся почему то все три. Где может быть ошибка?
« Последнее редактирование: 16 Февраль 2011, 16:21 от dimson »
dimson
Житель форума
*****

Репутация: 82
Сообщений: 538


WWW
Ответ #1 : 14 Февраль 2011, 15:14

Тему можно удалять, ошибку нашел.
« Последнее редактирование: 16 Февраль 2011, 16:19 от dimson »
K i r i L L
*

Репутация: 166
Сообщений: 712

Мир изменится..

Ответ #2 : 14 Февраль 2011, 23:48

ошибка в преобразовании числа в строку ? ("25") ?

キリル =)
dimson
Житель форума
*****

Репутация: 82
Сообщений: 538


WWW
Ответ #3 : 15 Февраль 2011, 00:20

Нет, ошибка банальна точку с запятой лишнею поставил, было так
Код:
if ($A[$i]["age"]==25);
, а надо было так
Код:
if ($A[$i]["age"]==25)
dimson
Житель форума
*****

Репутация: 82
Сообщений: 538


WWW
Ответ #4 : 16 Февраль 2011, 16:35

Еще один вопросик по синтаксису. Вот у меня есть функция которая определяет процент:
Код:
<?php
function procent($a=0$procent=0){
    
$a=($a*$procent)/100;
    return(
$a);
}
 echo (
"Результат равен procent(100, 25)");

?>


В итоге функция echo выводит "Результат равен procent(100, 25)", а как сделать чтобы echo выводило и результат функции и фразу "Результат равен".
Или это возможно только так:
Код:
<?php
function procent($a=0$procent=0){
    
$a=($a*$procent)/100;
    return(
$a);
}
$procent=procent(100,25);
echo 
"Результат равен $procent";
?>
« Последнее редактирование: 16 Февраль 2011, 16:36 от dimson »
Sonar
Житель форума
*****

Репутация: 89
Сообщений: 547


Уиии! :)

WWW Email
Ответ #5 : 16 Февраль 2011, 21:03

Если я не ошибаюсь, кавычки после слова "равен" нужно поставить, а не после переменной.

dimson

http://213.21.12.200 - Своя версия странички ресурсов сетей "Эт-Хоум".
ftp://213.21.12.200 - FTP
dimson
Житель форума
*****

Репутация: 82
Сообщений: 538


WWW
Ответ #6 : 16 Февраль 2011, 22:29

В итоге вот так
Код:
echo ("Результат равен ".procent(100, 25));
BatteryLow
Завсегдатай
****

Репутация: 60
Сообщений: 277


Батарейка...ненавижу провода...

WWW
Ответ #7 : 17 Февраль 2011, 03:46

Блин не успел оба раза ответить=) задавай еще, голову поломаем, только посложнее Хохочет

dimson
Житель форума
*****

Репутация: 82
Сообщений: 538


WWW
Ответ #8 : 17 Февраль 2011, 23:59

В общем еще вопрос возник. Есть файл base1.dat, структура его такая:
Код:
Дима<->dima@mail.ru<->Привет как дела
Слава<->slava@mail.ru<->Все нормально
Петя<->peta@mail.ru<->Погода хорошая
Саша<->sasha@mail.ru<->Скоро лето
Рома<->roma@mail.ru<->Скорей бы выходные

Надо что бы скрипт выводил эти данные, но символы "<->" заменял на пробелы. Вот сам скрипт, он выдает ошибку ссылаясь на цикл foreach().
Код:
<?
 $base_var="base1.dat";

 $arr_base=file($base_var); //Содержимое base1.dat поместили в массив
 $arr_base=str_replace("<->"," ","$arr_base"); // Заменяем в массиве "<->" на " "
 foreach($arr_base as $val) //Выводим значения массива
 {
 echo "$val<br>";
 }
 ?>
Я так понимаю, что ошибка в функции str_replace().
« Последнее редактирование: 18 Февраль 2011, 00:01 от dimson »
imperfect
Житель форума
*****

Репутация: 341
Сообщений: 1167


Проверено электроникой

WWW Email
Ответ #9 : 18 Февраль 2011, 01:57

Не знаю, в этом ли дело, но зачем заключать имена переменных в кавычки в параметрах str_replace и в echo?

dimson

BatteryLow
Завсегдатай
****

Репутация: 60
Сообщений: 277


Батарейка...ненавижу провода...

WWW
Ответ #10 : 18 Февраль 2011, 03:59

В этом, в echo еще можно, но не рекомендуется, а в реплейсе не стоит=)
Цитировать
<?php
 $base_var="base1.dat";

 $arr_base=file($base_var); //Содержимое base1.dat поместили в массив
 $arr_base=str_replace('<->',' ',$arr_base); // Заменяем в массиве "<->" на " "

 foreach($arr_base as $val) { //Выводим значения массива
    echo $val.'<br>';
 }
?>

dimson

dimson
Житель форума
*****

Репутация: 82
Сообщений: 538


WWW
Ответ #11 : 18 Февраль 2011, 14:19

Да кавычки были лишние.
MichaelZeva
Новичок
*

Репутация: 0
Сообщений: 1

Ответ #12 : 28 Май 2015, 21:08

Я конечно новичок в этом делеТоесть мне нужно создать php файл и сделать так что бы при ссылании на него выводилась страничка которая мне нужна   Так вообще можно сделать???Спасибо.

..а, да.. у меня есть МУ сервер и там куча читеров. Слышал много о armored anti-cheat(старый p4f protection). Но как-то дороговато... Стоит ли он своих денег?
 
Спасибо за советы
Kaiten
Завсегдатай
****

Репутация: 88
Сообщений: 474


Ответ #13 : 28 Май 2015, 21:46

Как жизнь в Афганистане?
Код:
<?php
header
("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.адрес.ru/страница.php");
exit();
?>

« Последнее редактирование: 28 Май 2015, 21:50 от Kaiten »

We can hide our faces from the light
When we run we’re chasing midnight
We feel the lows and we feel the highs
But everything will be alright...
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines
Text only version | PDA version