使用数组php需要一些建议

时间:2015-06-18 15:57:05

标签: php arrays

需要一些帮助来解决这个问题,我有一些像这样的代码

    $q= $conn->query("SELECT * FROM table");

    while($array2[] = $q->fetch_object());
    array_pop($array2);



if(isset($array2[0]->DATE))
{
    $date0 = $array2[0]->DATE;
}else{
    $date0 = '';
}
if(isset($array2[1]->DATE))
{
    $date1 = $array2[1]->DATE;
}else{
    $date1 = '';
}
$data =('DATE1'= $date0,'DATE2'= $date1)

所以你可以看到问题是什么,一遍又一遍地重复一遍,它太可怕了,我确定这是一个干净的方法,但我不知道如何,我尝试使用for循环,但如果1值不是设置所有其他值将得到''设置为它们所以它没有工作...我需要最终得到的东西是'DATE#'增加等于$array2内的出现

因此,如果$array2范围为$array[0] to $array[4],那么$data数组内的DATE0 = $date0,DATE1 = $date1,DATE2 = $date2,DATE3 = $date3,DATE4 = $date4,DATE5 = $date5最终会有array2[7],如果例如$data没有存在,它不会抛出错误,因为在<dataConfig> <dataSource name="ds-db" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/EDMS_Metadata" user="root" password="*************" /> <dataSource name="ds-file" type="BinFileDataSource"/> <document name="doc1"> <entity name="db-data" dataSource="ds-db" onError="skip" query="select TextContentURL as 'id', Title, AuthorCreator from MasterIndex" > <field column="TextContentURL" name="id" /> <field column="Title" name="title" /> <field column="AuthorCreator" name="author" /> <entity name="file" dataSource="ds-file" onError="skip" processor="TikaEntityProcessor" url="${db-data.id}" format="text"> <field column="text" name="text" /> </entity> </entity> </document> </dataConfig>内部它不存在...希望所有这些都有意义,我找不到合适的方法来描述它。

1 个答案:

答案 0 :(得分:0)

我并没有真正了解你在使用while“loop”和array_pop时所做的事情,但是对于你的其他问题,你可以使用一个简单的foreach

foreach ($array2 as $arr)
{
    $date[] = (isset($arr->DATE)) ? $arr->DATE : '';
}

这将为您提供一个数组,其中所有日期都存储在0到x的相应键中。