Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с массивами
 
 автор: Roo$   (07.10.2006 в 21:10)   письмо автору
 
 

У меня есть массив забитый различными словами разной длины. Как мне вывести из этого массива только те слова, длина которых равно = 3 символам?

   
 
 автор: DEM   (07.10.2006 в 21:29)   письмо автору
 
   для: Roo$   (07.10.2006 в 21:10)
 

Какой же я дурак!!! 15 минут бился над сркиптом и только через 15 минутпонял, что он работает правильно :)


<?php

$a 
= array("DEM""BABAX""qwe""weqds""ee");

for(
$i=0;$i<count($a)-1;$i++)
{

  if(
strlen($a[$i])==3)
  {
    echo 
"$a[$i] ";
  }

}

?>


Еще можно решать при помощи функции foreach

   
 
 автор: Roo$   (07.10.2006 в 22:27)   письмо автору
 
   для: DEM   (07.10.2006 в 21:29)
 

Большое спасибо, работает. Теперь столкнулся со след проблемой. Не получается записать полученный результат в файл. Подскажите почему?
Делаю так:

$file1 = fopen ("file1.txt","w");
$s=$arr[$i];
fputs ( $file1, $s);
fclose ($file1);

Записывает только последний элемент массива (последнее 3-х символьное чмсло)

   
 
 автор: Drago   (08.10.2006 в 00:25)   письмо автору
 
   для: Roo$   (07.10.2006 в 22:27)
 

Если, запись в файл происходит в цикле, а, видимо, так оно и есть, то все правильно. Так как параметр записи "w" - файл просто перезаписывается.

Кстати, в предыдущем ответе, в скрипте, есть небольшая ошибка. При условии

for($i=0;$i<count($a)-1;$i++)

Последний элемент массива игнорируется. То есть, если он также будет состоять из 3-х символов, то он не будет обработан.

Все вместе, лучше сделать так:

<?php
$a 
= array("DEM""BABAX""qwe""weqds""eee");
$s="";

foreach (
$a as $value)
    if(
strlen($value)==3)
        
$s.=$value."\n";

$file1=fopen("file1.txt","w");
fwrite($file1,$s);
fclose($file1);
?>

   
 
 автор: Roo$   (08.10.2006 в 19:54)   письмо автору
 
   для: Drago   (08.10.2006 в 00:25)
 

Большое спасибо. Все работает.
Следующи й вопрос..... Есть массив с числами. Как найти мне в массиве самое большое значение числа?

   
 
 автор: Drago   (08.10.2006 в 20:10)   письмо автору
 
   для: Roo$   (08.10.2006 в 19:54)
 

По алгоритму моего скрипта, в этой теме:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=25777&page=1

   
 
 автор: kasmanaft   (08.10.2006 в 20:24)   письмо автору
 
   для: Roo$   (08.10.2006 в 19:54)
 

Можно использовать ф-ю max($arr)

   
 
 автор: Roo$   (08.10.2006 в 20:30)   письмо автору
 
   для: kasmanaft   (08.10.2006 в 20:24)
 

Вот что мне нужно было. Большое спас

   
 
 автор: Roo$   (08.10.2006 в 21:05)   письмо автору
 
   для: Roo$   (08.10.2006 в 20:30)
 

Как найти значение в массиве зная ключ?

   
 
 автор: Roo$   (08.10.2006 в 21:22)   письмо автору
 
   для: Roo$   (08.10.2006 в 21:05)
 

Данн массив...
Как поменять в массиве местами два значения?

   
 
 автор: kasmanaft   (08.10.2006 в 22:35)   письмо автору
 
   для: Roo$   (08.10.2006 в 21:22)
 

Нужно запомнить заменяемое значение во временную переменную ...

$a = $arr[1];
$arr[1] = $arr[2];
$arr[2] = $a

   
 
 автор: kasmanaft   (08.10.2006 в 22:34)   письмо автору
 
   для: Roo$   (08.10.2006 в 21:05)
 

Подставить ключ в квадратные скобки =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования