需要一些帮助来解决这个问题,我有一些像这样的代码
$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>
内部它不存在...希望所有这些都有意义,我找不到合适的方法来描述它。
答案 0 :(得分:0)
我并没有真正了解你在使用while“loop”和array_pop时所做的事情,但是对于你的其他问题,你可以使用一个简单的foreach
:
foreach ($array2 as $arr)
{
$date[] = (isset($arr->DATE)) ? $arr->DATE : '';
}
这将为您提供一个数组,其中所有日期都存储在0到x的相应键中。