所以我有一个文档数组,用于将每个字符串添加为数组中的元素,以及具有私有成员函数添加文档的类的实例,这实际上将文档添加到添加文档的新数组中。 函数don()接受3个参数,它需要添加到添加文档数组的字符串,从函数内部添加文档的类的实例,以及要添加的更多内容的数组。
在psuedo代码中,它是这样的:
$contentsAdded = []; //blank array
$contents = ['document one text', 'document two text', 'document three text';
$firstDoc = 'hello I am the first document';
function don($currentString, $instance, $contentArray){
//addDocument() adds strings to / //$contentsAdded
$instance->addDocument($currentString);
//Travel through array $contentArray
//if $contentArray[iterator] is not in //$contentsAdded, then
don($contentArray[i], $instance, $contentArray);
}
don($firstDoc, $instance, $contents);
这样做的最佳方式是什么?
特别是当我按照我想的方式做的时候,$ contentsAdded只有$ firstDoc吗?
答案 0 :(得分:1)
您不需要将第一个文档与另一个文档分开,因为您必须进行通用过程。并且在这种情况下不需要进行递归函数(递归函数可能会占用更多资源,请谨慎使用)。
您应该简单地遍历文档数组,并使用您的实例对象逐个添加它们。
// Initialize the list of document to add
$contents = array('first document',
'document one text',
'document two text',
'document three text');
// Loop over your array of document
foreach($contents as $oneDocument)
$instance->addDocument($oneDocument);