2009-08-14 13 views
2
<?php 
function aum($x) { 
$contents = $_FILES['userfile']['tmp_name']; 
$contents = file("$contents"); 
$aum = $contents[$x][13].$contents[$x][14].$contents[$x][15].$contents[$x][16].$contents[$x][17].$contents[$x][18].$contents[$x][19].$contents[$x][20].$contents[$x][21].$contents[$x][22].$contents[$x][23]; 
$faum = money_format('%(#1n',$aum)."\n";  
return $faum; 
} 
?> 

Avis: Un non bien formé valeur numérique rencontré dans ./includes.php sur la ligne 28PHP: "valeur numérique non bien formé a rencontré"


Salut,

Je reçois l'erreur ci-dessus. Ligne 28 est: $ faum = money_format ('% (# 1n', Aum $) "\ n";
J'ai trois questions:.

  1. Pourquoi ai-je cet avis d'erreur et que dois-je faire
  2. Existe-t-il un meilleur moyen de télécharger un fichier texte CSV qui a une séparation de virgule non-uniforme dans un tableau HTML? Par séparation de virgules "non-uniforme": DONNEES CLES, DATA ,,, $ aum DATA ,,,,,, DATA, etc Comme vous pouvez le voir, je dérive $ aum en utilisant la fonction fichier(). Je compte ensuite le nombre de caractères à partir de la droite du début de chaque rangée pour obtenir t il fixe nombre de caractères qui correspond à la $ AUM DATA. La variable $ x correspond aux numéros de ligne du fichier. Ensuite, je peux retourner chaque dollar $ par ligne $ x. Je suis nouveau à PHP et aimerais savoir s'il y a une manière plus intelligente de faire ceci.

J'apprécie tous les conseils/conseils que vous pourriez partager.

thx,

+0

BTW: Vous pouvez utiliser $ AUM = substr (contenu $ [$ x], 13, 11) peut-être même http://php.net/fgetcsv – VolkerK

Répondre

3

Vous devez jeter un oeil à Aum $, car il ne peut probablement pas être formaté comme un nombre.

Pop

echo $aum; 
echo floatval($aum); 

Avant l'erreur de voir ce que vous obtenez. Vous devrez peut-être modifier la position que vous recherchez si vous collectez des données de début ou de fin.

+0

Merci, ça répond à ma première question. – AME

1

Pour l'analyse syntaxique CSV, une main sur l'approche est d'utiliser explode. J'essaie ce bout de code

$string = "a,,b"; 
$result = explode(",", $string); 
echo "<pre>".print_r($result, true)."</pre>"; 

Et la sortie je reçois retour est:

Array 
(
    [0] => a 
    [1] => 
    [2] => b 
) 
Questions connexes