向现有PHP数组添加第二个维度

时间:2015-03-23 15:28:34

标签: php arrays

语言:PHP 5 框架:Joomla 3

我有一个从get_file_array()获得的单维数组。我需要分解文件的名称,并最终查询数据库以获取更多信息。为了便于迭代,我希望为我的数组添加一个新维度,而不是创建并行数组。我想过迭代现有的数组并一次将一个节点添加到一个新的,特别是多维的,可能是关联的数组,但这看起来不太优雅。有没有办法在PHP中为现有数组添加维度?这是我最后一次尝试的,这显然不起作用,但传达了我想要完成的精神:

require_once "../components/com_esms/models/officelookup.php";

class filearray extends JApplicationCli
{
    var $dir = null;
    //var_dump($dir);
    //error_log("filecopy CWD: ".getcwd());
    //error_log("filecopy files: ".print_r($dir, true));    

   function __construct()
   {      
      $this->dir = scandir("../esms_reports/", 0);
      parent::__construct();
   }

    public function get_file_array()
    {
        //$this->out('Hello World');
        unset($this->dir[0]);
        unset($this->dir[1]);
        $fa = array_values($this->dir);
        return $fa;
    }
}

$arr_filearray_obj = new filearray();
$dir = $arr_filearray_obj->get_file_array();
//error_log("filecopy files: ".print_r($dir, true));
/*
foreach($dir as $filename) 
{
    $fa_underscore = explode("_", $filename);
    error_log("filecopy lotid: ".$fa_underscore[1]);
}
*/

//$officeid = array();

for($i = 0; $i < count($dir); $i++)
{
    $fa_underscore = explode("_", $dir[$i]);
    //error_log("filecopy lotid: ".$fa_underscore[1]);
    //error_log("filecopy number of lots: ".$i);
    $fa_dash = explode("-", $fa_underscore[1]);
    $dir[i][1] = $fa_dash[1];
}
error_log("filecopy officeids: ".print_r($dir, true));
//$result = file_get_contents("http://192.168.1.250/systemname/index.php/option=com_esms&view=officelookup&format=json&officeID=".$officeid[0]);

$officelookup = new EsmsModelofficelookup();

for($o = 0; $o < count($dir); $o++)
{
    $result = $officelookup->get_offices($dir[$o][1]);
}
error_log("filecopy JSON: ".$result);


echo("DONE!");

编辑:这是我正在操作的文件名的示例。关键是获取客户端ID,查询它,检查它是否具有父客户端ID,并使用客户端名称而不是ID创建基于该文件夹的文件夹结构。 DDR_1426112931-429_031215.pdf或typeofreport_lotid-clientid_date.pdf

我想要添加到数组中的是我的数据库查询的结果,它是一个JSON编码的结构,包含客户端的信息和父客户端信息(如果存在)。它看起来像这样:

Array
(
  [id] => 123
  [name] => Dummy
  [parent] => 321
)
Array
(
  [id] => 321
  [name] => DummyParent
  [parent] =>
)

0 个答案:

没有答案