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

Форум PHP

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

 

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

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

тема: Вычленить из массива
 
 автор: ШИМ   (14.12.2007 в 15:55)   письмо автору
 
 

К примеру у меня есть массив:


array(2) {

  title => Chelsea FootballFanCast 023

  guid => 871 at http://www.footballfancast.com

Мне нужно из елемента quid вычленить 871.
Причем это число может быть произвольной длинны

   
 
 автор: Unkind   (14.12.2007 в 16:03)   письмо автору
 
   для: ШИМ   (14.12.2007 в 15:55)
 

К массивам это не имеет никакого отношения. Если число всегда в начале строки:

<?php
$array 
= array('guid' => '871 at http://www.footballfancast.com');

$number intval($array['guid']);
?>

   
 
 автор: ШИМ   (14.12.2007 в 16:07)   письмо автору
 
   для: Unkind   (14.12.2007 в 16:03)
 

СОРРИ

Я ЗаГналСя...

Спасибо!!!

   
 
 автор: sim5   (14.12.2007 в 16:09)   письмо автору
 
   для: ШИМ   (14.12.2007 в 16:07)
 

А вы пробовали echo $number ?

   
 
 автор: Unkind   (14.12.2007 в 16:18)   письмо автору
 
   для: sim5   (14.12.2007 в 16:09)
 

> А вы пробовали echo $number ?
Это ШИМу или Вы хотели написать мне?

   
 
 автор: sim5   (14.12.2007 в 16:20)   письмо автору
 
   для: Unkind   (14.12.2007 в 16:18)
 

Ему, он снес свое сообщение, в котором сомневался в приведенном вами. )

   
 
 автор: ШИМ   (14.12.2007 в 16:04)   письмо автору
 
   для: ШИМ   (14.12.2007 в 15:55)
 

Но оно всегда стоит сначала...

вобщем будет всегда вида


1234  at http://www.footballfancast.com

как вытащить первое число.?

   
 
 автор: Faraon   (14.12.2007 в 16:12)   письмо автору
 
   для: ШИМ   (14.12.2007 в 16:04)
 

Так вот это и делает

$number = intval($array['guid']); 

>как вытащить первое число.?
или вы имеете ввиду первую цифру, скажем 1 ?

   
 
 автор: Unkind   (14.12.2007 в 16:17)   письмо автору
 
   для: ШИМ   (14.12.2007 в 16:04)
 

> Но оно всегда стоит сначала...
> 1234 at http://www.footballfancast.com

Это разве не в начале строки? :)

   
 
 автор: mihdan   (14.12.2007 в 16:58)   письмо автору
 
   для: Unkind   (14.12.2007 в 16:17)
 


<?
$str 
"1234 at http://www.footballfancast.com";
$pattern "/([\d]+).*/si";
preg_match($pattern$str$cells);

echo 
$cells[1];
?>

   
 
 автор: Unkind   (14.12.2007 в 17:33)   письмо автору
 
   для: mihdan   (14.12.2007 в 16:58)
 

> /([\d]+).*/si
Тогда уж /\d+/

   
 
 автор: mihdan   (14.12.2007 в 17:56)   письмо автору
 
   для: Unkind   (14.12.2007 в 17:33)
 

Не понял. Вы сами то попробовли что написали?

Максимум так

$pattern = "/(\d+)/";

   
 
 автор: Unkind   (14.12.2007 в 17:59)   письмо автору
 
   для: mihdan   (14.12.2007 в 17:56)
 

> Не понял. Вы сами то попробовли что написали?
Когда-то пробовал. Но не сейчас. Хотите сказать, что работать не будет?

   
 
 автор: mihdan   (14.12.2007 в 18:04)   письмо автору
 
   для: ШИМ   (14.12.2007 в 16:04)
 

При условии что нужно вывести первую цифру ;)

<?
$str 
"1234 at http://www.footballfancast.com";
$pattern "/(\d+)/";
preg_match($pattern$str$cells);

echo 
substr($cells[1], 01);
?> 

   
 
 автор: Unkind   (14.12.2007 в 18:05)   письмо автору
 
   для: mihdan   (14.12.2007 в 18:04)
 

Тогда можно просто $cells[1][0].

   
 
 автор: mihdan   (14.12.2007 в 18:06)   письмо автору
 
   для: Unkind   (14.12.2007 в 18:05)
 

Unkind, согласен - сам подумал об этом когда писал.

   
 
 автор: Unkind   (14.12.2007 в 18:08)   письмо автору
 
   для: mihdan   (14.12.2007 в 18:06)
 

Скобочки в паттерне зачем?

P.S. Вы исправляете сообщения после моих...У Вас ранее было $cells[0] в сообщении от 14.12.2007 в 16:58.

   
 
 автор: mihdan   (14.12.2007 в 18:10)   письмо автору
 
   для: Unkind   (14.12.2007 в 18:08)
 

Чтоб запомнить значение внутри них(в массиве с индексом 0), а как же иначе?

PS: так время 18:08 по Москве уже. Увидел поправил, но вопрос то не в этом, а в скобках

PS2: Unkind, я вас понял. Вы спросили до того как я менял что-то. Тогда да, можно и без скобок при условии что выводить будем $cells[0]

   
 
 автор: Unkind   (14.12.2007 в 18:13)   письмо автору
 
   для: mihdan   (14.12.2007 в 18:10)
 

В результирующем массиве в индексе 0 будет найденое соответсвие паттерну. В любом случае: со скобками или без. А скобки только добавят индекс 1.

   
 
 автор: mihdan   (14.12.2007 в 18:14)   письмо автору
 
   для: Unkind   (14.12.2007 в 18:13)
 

Unkind, думаю дискуссию можно закрыть, мы поняли друг друга

   
 
 автор: Faraon   (14.12.2007 в 19:57)   письмо автору
 
   для: mihdan   (14.12.2007 в 18:14)
 

Нормально! я только спросил у автора
>или вы имеете ввиду первую цифру, скажем 1 ?
это мой пост.
Автор уже давно вас поблагодарил, и понятно стало, что ему надо не первую цифру.
Вы уже здесь разогнали тему :)

   
 
 автор: Unkind   (14.12.2007 в 20:05)   письмо автору
 
   для: Faraon   (14.12.2007 в 19:57)
 

Я лишь решил придраться к тому, что паттерн содержит много лишнего.

   
 
 автор: mihdan   (15.12.2007 в 12:14)   письмо автору
 
   для: Unkind   (14.12.2007 в 20:05)
 

Людям просто хотелось общения, что тут непонятного. Спасибо всем, кто поддержал беседу.

   
Rambler's Top100
вверх

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