2014-12-18 3 views
0

У меня есть этот класс:Функция возвращает массив - PHP

class Dados{ 

function cadastro($store){ 
preg_match_all('#<div align=\'left\'>(.*?)</div>#s',$store,$dados); 

return $dados[1]; 

}} 

И это выход print_r($dados->cadastro($pagina_cadastro));

Array 
(
    [0] => 02A  
    [1] => M   
    [2] => 72 - CIÊNCIA DA COMPUTAÇÃO/N 
    [3] => 1402 
    [4] => 23/12/2013 
    [5] => 6/7/1995 
    [6] => S 
    [7] => M 
    [8] => Details Removed       
    [9] => Details Removed   
    [10] => Details Removed 
    [11] => Details Removed        
    [12] => Details Removed 
    [13] => Details Removed 
    [14] => My Email 
    [15] => Details Removed 
    [16] =>    
    [17] => Details Removed  
    [18] => Details Removed  
) 
  • детали были удалены, чтобы защитить мою частную жизнь

Так вопрос в том, как использовать эхо для печати только позиций 3, 7 и 9 (например)? Я уже пробовал $dados->cadastro[1]($pagina_cadastro); и $dados->cadastro($pagina_cadastro)[1];, но любые работы.

Я думаю, что это вопрос новичков, но мне действительно нужна помощь. Большое вам спасибо!

+1

Какая версия PHP вы используете? Что делать, если вы делаете '$ dados = $ dados-> cadastro $ pagina_cadastro); echo $ dados [1]; '? – putvande

+0

Привет, Я запускаю PHP 5.3, используя ваш метод работает, но есть ли другое решение? Я не хочу объявлять другую переменную только для этого. Спасибо! –

+1

Нет другого решения. Вы можете обновить версию PHP и использовать '$ dados-> cadastro ($ pagina_cadastro) [1];' – putvande

ответ

0

Присвоить результат переменной первого:

$details = $dados->cadastro($pagina_cadastro); 

, а затем вы можете получить любую позицию, которую вы хотите от:

echo $details[3]; 
echo $details[7]; 
echo $details[9]; 
0

может попробовать так:

$val = $dados->cadastro($pagina_cadastro); 

echo $val[3];// similarly other also. 
0

если это

<?php 
    class Dados{ 

     function cadastro($store){ 
      preg_match_all('#<div align=\'left\'>(.*?)</div>#s',$store,$dados); 
      return $dados[1]; 

     } 
    } 

    $var = new Dados(); 

    print_r(var->cadastro()); 
?> 

возвращает ваш массив.

Тогда вы, как этот

<?php 
    //Previous code before this 
    $array = var->cadastro(); 
    echo $array[7] . $array[9]; //etc 
?> 

Чтобы задать конкретные значения

0

Просто назначьте вызов функции переменной, как это:

$var = $dados->cadastro($pagina_cadastro); 

Затем вы можете напечатать любой индекс массива, как это:

print $var[3]; 
print $var[7]; 
print $var[9]; 
Смежные вопросы