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

Форум PHP

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

 

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

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

тема: Проход по всему массиву
 
 автор: sl1p   (08.12.2008 в 22:10)   письмо автору
 
 

есть $_POST['list'] = array('val', 'val');
и нужно пройтись по каждому элементу и выполнить такое:
<?
$_POST
['list'] = dbes(join(','array_map('ucfirst'array_map('strtolower'array_map('trim'explode(','$_POST['list']))))));


делаю вот так, но не нравится как выглядит :)) может можно както "стандартно" сделать это всё?

<?
function list_fix($list) {
 foreach(
$list as $a => $b) {
  
$list[$a] = dbes(join(','array_map('ucfirst'array_map('strtolower'array_map('trim'explode(','$b))))));
 }
 return 
$list;
}

  Ответить  
 
 автор: mikha   (09.12.2008 в 06:13)   письмо автору
 
   для: sl1p   (08.12.2008 в 22:10)
 

Не совсем понял что нужно в итоге, но прошу обратить внимантие на функции preg_split и array_walk.
<?php
function dbes ($list) { // да хз чо тут
  
return $list;
}
function 
list_fix ($item$key) {
  global 
$arr;
  
$arr[$key] = ucfirst (strtolower ($item));
}
if (isset (
$_POST['submit'])) {
  
$arr preg_split ("/[\s,]+/"$_POST['list'], -1PREG_SPLIT_NO_EMPTY);
  
array_walk ($arr'list_fix');
  
$_POST['list'] = dbes (implode (", "$arr));
  echo 
"<pre>";
  
print_r ($_POST['list']);
  echo 
"</pre>";
}
?>
<form action="" method="post" name="zzz">
  <textarea name="list">FGhjhff,     ,,   gfgfGdfd,  ,  FfffgggGGgf, gfdgghsd, ,    ,   ,</textarea>
  <br />
  <input name="submit" type="submit" value="submit" />
</form>

UP. Только сейчас обратил внимание что $_POST['list'] массив.
Ну да ладно. Какие функции использовать понятно. Переписывать некогда.

  Ответить  
 
 автор: mikha   (09.12.2008 в 06:39)   письмо автору
 
   для: sl1p   (08.12.2008 в 22:10)
 

или что то вроде этого
function list_fix ($item, $key) {
  $item = trim ($item);
  if (!$item) unset ($_POST['list'][$key]);
  else $_POST['list'][$key] = ucfirst (strtolower ($item));
}
if (isset ($_POST['submit'])) {
  array_walk ($_POST['list'], 'list_fix');
  $list = dbes (implode (", ", $_POST['list']));
  echo "<pre>";
  print_r ($list);
  echo "</pre>";
}

  Ответить  
 
 автор: sl1p   (09.12.2008 в 13:18)   письмо автору
 
   для: mikha   (09.12.2008 в 06:39)
 

Да я не правильно выразился.. не хотелось бы использовать пользовательскую функцию.
Вот сижу думаю как бы пройтись по всем элементам поста как в самом моём первом варианте, но стандартными функциями :)

зы. за варианты всё равно спасибо.

  Ответить  
Rambler's Top100
вверх

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