2011-05-15 3 views
0
existingReports[$i] 
= count(array_walk(file_exists,$data['reports'][$i])); 

Quelque chose ne va pas avec cette déclaration?Essayer de compter les fichiers existants avec le tableau marche, obtenant "Seules les variables peuvent être transmises par référence"

Par exemple

print_r($filename[3]); 

[0] => uploads/2011-05-10%20Philippines%20Philippine%20storm%2022%20dead.pdf 

[1] => uploads/2011-05-10%20Philippines%20Philippine%20storm%2022%20dead.pdf 

[2] => uploads/2011-05-10%20Philippines%20Philippine%20storm%2022%20dead.pdf 

[3] => uploads/2011-05-12%20Philippines%20Nestle%20noodles.jpg 

[4] => uploads/2011-05-12%20Philippines%20Nestle%20noodles.jpg 

[5] => uploads/2011-05-12%20Philippines%20Nestle%20noodles.jpg 

[6] => uploads/2011-05-13%20Algeria%20TESTTEST 

Il est évident que je vérifie pour voir qui de ces rapports existe, je vais aussi avoir besoin de les dédoublonner maintenant que je suis à la recherche à ce sujet.

Répondre

1

Vous voulez probablement utiliser array_maparray_filter ici à la place:

= count(array_filter($data['reports'][$i], "file_exists")); 

Bien sûr, le premier paramètre doit encore contenir un tableau. S'il correspond à votre exemple de sortie de print_r($filename[3]);, cela devrait fonctionner.

+0

Hah! C'est étrange, c'est de retour que tout ce qui a traversé existe! –

+0

Oui, array_map n'est pas utile pour ce que vous voulez réellement. 'array_filter' est la méthode correcte, ne nécessite pas une seconde étape. – mario

+0

Très bien, tripoter pendant une seconde :) –

Questions connexes