【问题标题】:Function returns array - PHP函数返回数组 - PHP
【发布时间】:2014-12-18 17:22:53
【问题描述】:

我有这门课:

class Dados{

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

return $dados[1];

}}

这是print_r($dados-&gt;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       
)
  • 已删除详细信息以保护我的隐私

所以问题是,如何使用 echo 仅打印位置 3、7 和 9(例如)? 我已经尝试过$dados-&gt;cadastro[1]($pagina_cadastro);$dados-&gt;cadastro($pagina_cadastro)[1];,但都可以。

我认为这是一个新手问题,但我真的需要帮助。 非常感谢!

【问题讨论】:

  • 您使用的是什么版本的 PHP?如果你做$dados = $dados-&gt;cadastro$pagina_cadastro); echo $dados[1];怎么办?
  • 您好,我正在运行 PHP 5.3,使用您的方法可行,但还有其他解决方案吗?我不想为此声明另一个变量。谢谢!
  • 没有其他解决方案。您可以升级您的 PHP 版本并使用 $dados-&gt;cadastro($pagina_cadastro)[1];
  • 你好,我可以升级什么版本支持这个语法?

标签: php arrays function class position


【解决方案1】:

先将结果赋值给一个变量:

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

然后你可以通过以下方式获得任何你想要的职位:

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

【讨论】:

    【解决方案2】:

    可以这样尝试:

    $val = $dados->cadastro($pagina_cadastro);
    
    echo $val[3];// similarly other also.
    

    【讨论】:

      【解决方案3】:

      如果这样

      <?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
      ?>
      

      指定具体值

      【讨论】:

        【解决方案4】:

        只需将您的函数调用分配给这样的变量:

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

        然后你可以像这样打印数组的任何索引:

        print $var[3];
        print $var[7];
        print $var[9];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-05-15
          • 2017-01-26
          • 1970-01-01
          • 1970-01-01
          • 2015-04-27
          • 2012-11-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多