[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: array_search
Страницы: 1, 2
Гость_lena
Не могу понять

Это работает -

<?php
$dh[]="5";
$dh[]="4";
$dh[]="3";
$dh[]="2";
$dh[]="1";
$numer=array_search("4", $dh)
echo "dh[$numer]"
?>

Это нет -

<?php
$df=file("dert.txt");
$numer=array_search("4", $df)
echo "dh[$numer]"
?>

Содержимое dert.txt -
5
4
3
2
1
walerus
Гость_lena совет на будущее, - читайте параметры функций...

функция file();

<?php
$df=file("dert.txt");
$numer=array_search( "4", $df, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES )
echo "dh[$numer]"
?>




Гость_lena
<?php
$df=file("dert.txt");
$numer=array_search( "4", $df, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES )
echo "$df[$numer]";
?>

Выдаёт ошибку

Parse error: syntax error, unexpected T_ECHO in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\index.php on line 4
Guest
А если так

<?php
$df=file("dert.txt");
$numer=array_search( "4", $df, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
echo "$df[$numer]";
?>

Отдаёт - 1
Гость_lena
теперь вообще какое число ищу, то и отдаёт браузеру.
dron4ik
in_array(); погугли

_____________
Ex3m.com.ua — Активный образ жизни
Гость_lena
in_array(); погугли --- пробовала, выдаёт или ничего или 1 или 5 и всё.

Помогите пожалуйста!

Есть файл txt, в нём текст, есть с новой строки. Нужно найти строку, например с текстом 4 и вывести на экран пользователя и записать в переменную.

<?php
$df=file("dert.txt"); # открываем файл
$numer=array_search("4", $df); # ищем в открытом файле текст, например 4
echo "$df[$numer]"; # отдаю браузеру
?>

Не работает это.
dron4ik
разбиваем содержимое файла на массив
$n = 2; //искомое

$arr = array('1','2','3'); //массив

$res = ''; // результат, можно ретурн если в функции
foreach($arr as $k=>$v){
if($n == $v){
$res = $k;
}
}


$arr[$res] бедет равен искомому

_____________
Ex3m.com.ua — Активный образ жизни
Гость_lena
<?php

$file[0]="маша";
$file[1]="настя";
$file[2]="катя";
$file[3]="алина";
$file[4]="кристина";

$nomer = in_array("кристина", $file);
echo "$file[$nomer]";

?>

Если совпадение есть, то отдаёт 1, если нет 0 (false).

____________________________________________

Код ниже работает

<?php

$file[0]="маша";
$file[1]="настя";
$file[2]="катя";
$file[3]="алина";
$file[4]="кристина";

$n = "кристина";

foreach($file as $k=>$v)
{

$res = $k;

if($n == $v)
{
echo "$file[$k]";

}

}

?>

_________________________________

А этот нет

<?php


$vkl = "алина";
$file = file("123.txt");

foreach($file as $k=>$v)
{

if($vkl == $v)
{
echo "$file[$k]";

}
}


?>

______________________________

Почему не работает?

echo "$file[5]"; # если вызвать, например так, то <- это работает.
Гость_lena
Всё, что ниже работает

__________________________

<?php

$massiv = file("123.txt");
echo "$massiv[1955]";

?>

_________________________

<?php

$file[0]="маша";
$file[1]="настя";
$file[2]="катя";
$file[3]="алина";
$file[4]="кристина";

$n = "кристина";

foreach($file as $k=>$v)
{
if($n == $v)
{
echo "$file[$k]";
}

}

?>

_____________________


<?php

$file[0]="маша";
$file[1]="настя";
$file[2]="катя";
$file[3]="алина";
$file[4]="кристина";

$n = "кристина";

$numer=array_search($n, $file);
echo "$file[$numer]";

?>

______________________________

<?php

$file[0]="маша";
$file[1]="настя";
$file[2]="катя";
$file[3]="алина";
$file[4]="кристина";

$n = "катя";


for ($a=1; $a<=5; $a++)
{

if ("$file[$a]" == $n)
{echo "$file[$a]";}

}
?>

_______________________


Из всего этого вывод такой, поиск по массиву работает только если, я его не вызвала из внешнего файла. А сам файл отлично открывается из 1 примера этого ответа.

Помогите пжл.
Гость_lena
Решение найдено

______________________

<?php


$file = file_get_contents("123.txt");
$files = explode("\r\n", $file);

$n = "лена";

$numer=array_search($n, $files);
echo "$files[$numer]";

?>
_____________________
Гость_lena
И ещё один вопросик. Как сделать такой же поиск, только по началу слова - ле

<?php


$file = file_get_contents("123.txt");
$files = explode("\r\n", $file);

$n = "ле"; # было лена

$numer=array_search($n, $files); # так ничего не найдёт
echo "$files[$numer]";

?>
Игорь_Vasinsky
1.foreach+regexp
2.array_map+create_function+regexp

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Гость_lena
preg_match? как будет правильно в моём случае?
Игорь_Vasinsky
ага

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.