Aide avec le script PHP
- wpas
- Graduate


- Inscription: Juil 12, 2010
- Messages: 214
- Loc: Canada
- Status: Offline
Bonjour à tous
Je travaille sur un projet et besoin d'aide pour se rendre à la fin.
J'ai un tableau qui attribue un numéro à chaque lettre de l'alphabet.
Nous disons que nous portent le nom de "Thomas John Hancock"
Tout d'abord, j'ai besoin d'obtenir le nombre de lettre pour le prénom, deuxième prénom et le nom.
Je fais cela comme suit :
Cela me donne le résultat suivant :
T = 2
H = 8
O = 6
M = 4
A = 1
S = 1
J = 1
O = 6
H = 8
N = 5
H = 8
A = 1
N = 5
C = 3
O = 6
C = 3
K = 2
Voici maintenant la partie intéressante.
Ce que je veux faire, c'est obtenir une table comme suit :
et ainsi de suite....
Si nous regardons la colonne Firstname, nous voyons que nous commençons par la première lettre du prénom et de leur valeur.
La lettre obtient répétée selon sa valeur. Nous voyons T = 2, si elle obtient répété 2 fois.
Nous prenons ensuite la prochaine lettre du prénom et de leur valeur.
Il obtient à nouveau répété selon sa valeur.
Cela vaut pour le reste des lettres du prénom.
Après que nous sommes arrivés à la dernière lettre du prénom, le processus obtient répété de repartir avec la première lettre du prénom.
Aussi vaut également pour le Middlename et Lastname colums.
La colonne Total est simplement l'ajout de la lettre les valeurs à travers la ligne.
Je me suis arrêté à la fin du nom de famille que nous pourrions ne jamais.
Ce que je dois aussi faire ensuite est de pouvoir limiter le nombre de lignes qui seront générés.
Une fois que cela a été fait, j'ai besoin alors d'être en mesure de sélectionner n'importe quelle ligne et afficher sa totale.
Si j'ai sélectionner puis ligne 20, je veux être en mesure de voir le numéro de ligne et de la valeur totale de cette ligne qui serait 20 et 15 au Total.
C'est parce que parfois je ne peux pas le tableau imprimé, mais veulent seulement pouvoir sélectionner une ligne dans la table et afficher la ligne et valule Total
Je vous serais reconnaissant toute aide que quelqu'un peut me donner là-dessus.
Merci
Je travaille sur un projet et besoin d'aide pour se rendre à la fin.
J'ai un tableau qui attribue un numéro à chaque lettre de l'alphabet.
Nous disons que nous portent le nom de "Thomas John Hancock"
Tout d'abord, j'ai besoin d'obtenir le nombre de lettre pour le prénom, deuxième prénom et le nom.
Je fais cela comme suit :
Code: [ Select ]
<?php
$ar = array('A' => 1,'B' => 2,'C' => 3,'D' => 4,'E' => 5,'F' => 6,'G' => 7,'H' => 8,'I' => 9,'J' => 1,'K' => 2,'L' => 3,'M' => 4,'N' => 5,'O' => 6,'P' => 7,'Q' => 8,'R' => 9,'S' => 1,'T' => 2,'U' => 3,'V' => 4,'W' => 5,'X' => 6,'Y' => 7,'Z' => 8);
$firstname = "Thomas";
$middlename = "John";
$lastname = "Hancock";
//make all names upper case. to avoid messing with small letters.
$firstname = strtoupper($firstname);
$middlename = strtoupper($middlename);
$lastname = strtoupper($lastname);
//Find the number of letters in each name
$lenfn = strlen($firstname);
$lenmn = strlen($middlename);
$lenln = strlen($lastname);
//now loop through each name one by one to get the values of each letter in the name
//first name
for($i=0; $i<$lenfn; $i++)
{
$alphafn = $firstname[$i];
$letternumberfn = $ar[$alphafn];
echo $alphafn." = ".$letternumberfn."<br />";
}
echo "<br />";
//middle name
for($i=0; $i<$lenmn; $i++)
{
$alphamn = $middlename[$i];
$letternumbermn = $ar[$alphamn];
echo $alphamn." = ".$letternumbermn."<br />";
}
echo "<br />";
//last name
for($i=0; $i<$lenln; $i++)
{
$alphaln = $lastname[$i];
$letternumberln = $ar[$alphaln];
echo $alphaln." = ".$letternumberln."<br />";
}
?>
$ar = array('A' => 1,'B' => 2,'C' => 3,'D' => 4,'E' => 5,'F' => 6,'G' => 7,'H' => 8,'I' => 9,'J' => 1,'K' => 2,'L' => 3,'M' => 4,'N' => 5,'O' => 6,'P' => 7,'Q' => 8,'R' => 9,'S' => 1,'T' => 2,'U' => 3,'V' => 4,'W' => 5,'X' => 6,'Y' => 7,'Z' => 8);
$firstname = "Thomas";
$middlename = "John";
$lastname = "Hancock";
//make all names upper case. to avoid messing with small letters.
$firstname = strtoupper($firstname);
$middlename = strtoupper($middlename);
$lastname = strtoupper($lastname);
//Find the number of letters in each name
$lenfn = strlen($firstname);
$lenmn = strlen($middlename);
$lenln = strlen($lastname);
//now loop through each name one by one to get the values of each letter in the name
//first name
for($i=0; $i<$lenfn; $i++)
{
$alphafn = $firstname[$i];
$letternumberfn = $ar[$alphafn];
echo $alphafn." = ".$letternumberfn."<br />";
}
echo "<br />";
//middle name
for($i=0; $i<$lenmn; $i++)
{
$alphamn = $middlename[$i];
$letternumbermn = $ar[$alphamn];
echo $alphamn." = ".$letternumbermn."<br />";
}
echo "<br />";
//last name
for($i=0; $i<$lenln; $i++)
{
$alphaln = $lastname[$i];
$letternumberln = $ar[$alphaln];
echo $alphaln." = ".$letternumberln."<br />";
}
?>
- <?php
- $ar = array('A' => 1,'B' => 2,'C' => 3,'D' => 4,'E' => 5,'F' => 6,'G' => 7,'H' => 8,'I' => 9,'J' => 1,'K' => 2,'L' => 3,'M' => 4,'N' => 5,'O' => 6,'P' => 7,'Q' => 8,'R' => 9,'S' => 1,'T' => 2,'U' => 3,'V' => 4,'W' => 5,'X' => 6,'Y' => 7,'Z' => 8);
- $firstname = "Thomas";
- $middlename = "John";
- $lastname = "Hancock";
- //make all names upper case. to avoid messing with small letters.
- $firstname = strtoupper($firstname);
- $middlename = strtoupper($middlename);
- $lastname = strtoupper($lastname);
- //Find the number of letters in each name
- $lenfn = strlen($firstname);
- $lenmn = strlen($middlename);
- $lenln = strlen($lastname);
- //now loop through each name one by one to get the values of each letter in the name
- //first name
- for($i=0; $i<$lenfn; $i++)
- {
- $alphafn = $firstname[$i];
- $letternumberfn = $ar[$alphafn];
- echo $alphafn." = ".$letternumberfn."<br />";
- }
- echo "<br />";
- //middle name
- for($i=0; $i<$lenmn; $i++)
- {
- $alphamn = $middlename[$i];
- $letternumbermn = $ar[$alphamn];
- echo $alphamn." = ".$letternumbermn."<br />";
- }
- echo "<br />";
- //last name
- for($i=0; $i<$lenln; $i++)
- {
- $alphaln = $lastname[$i];
- $letternumberln = $ar[$alphaln];
- echo $alphaln." = ".$letternumberln."<br />";
- }
- ?>
Cela me donne le résultat suivant :
T = 2
H = 8
O = 6
M = 4
A = 1
S = 1
J = 1
O = 6
H = 8
N = 5
H = 8
A = 1
N = 5
C = 3
O = 6
C = 3
K = 2
Voici maintenant la partie intéressante.
Ce que je veux faire, c'est obtenir une table comme suit :
Code: [ Select ]
Row Firstname Middlename Lastname Total
0 --- T=2 --- J=1 --- H=8 11
1 --- T=2 --- O=6 --- H=8 16
2 --- H=8 --- 0=6 --- H=8 22
3 --- H=8 --- 0=6 --- H=8 22
4 --- H=8 --- 0=6 --- H=8 22
5 --- H=8 --- 0=6 --- H=8 22
6 --- H=8 --- 0=6 --- H=8 22
7 --- H=8 --- H=8 --- H=8 24
8 --- H=8 --- H=8 --- A=1 17
9 --- H=8 --- H=8 --- N=5 21
10 --- O=6 --- H=8 --- N=5 19
11 --- O=6 --- H=8 --- N=5 19
12 --- O=6 --- H=8 --- N=5 19
13 --- O=6 --- H=8 --- N=5 19
14 --- O=6 --- H=8 --- C=3 17
15 --- O=6 --- N=5 --- C=3 14
17 --- M=4 --- N=5 --- C=3 12
18 --- M=4 --- N=5 --- O=6 15
19 --- M=4 --- N=5 --- O=6 15
20 --- M=4 --- N=5 --- O=6 15
21 --- A=1 --- J=1 --- O=6 8
22 --- S=1 --- O=6 --- O=6 13
23 --- T=2 --- O=6 --- O=6 14
24 --- T=2 --- O=6 --- C=3 11
25 --- H=8 --- O=6 --- C=3 17
26 --- H=8 --- O=6 --- C=3 17
27 --- H=8 --- O=6 --- K=2 16
28 --- H=8 --- H=8 --- K=2 18
0 --- T=2 --- J=1 --- H=8 11
1 --- T=2 --- O=6 --- H=8 16
2 --- H=8 --- 0=6 --- H=8 22
3 --- H=8 --- 0=6 --- H=8 22
4 --- H=8 --- 0=6 --- H=8 22
5 --- H=8 --- 0=6 --- H=8 22
6 --- H=8 --- 0=6 --- H=8 22
7 --- H=8 --- H=8 --- H=8 24
8 --- H=8 --- H=8 --- A=1 17
9 --- H=8 --- H=8 --- N=5 21
10 --- O=6 --- H=8 --- N=5 19
11 --- O=6 --- H=8 --- N=5 19
12 --- O=6 --- H=8 --- N=5 19
13 --- O=6 --- H=8 --- N=5 19
14 --- O=6 --- H=8 --- C=3 17
15 --- O=6 --- N=5 --- C=3 14
17 --- M=4 --- N=5 --- C=3 12
18 --- M=4 --- N=5 --- O=6 15
19 --- M=4 --- N=5 --- O=6 15
20 --- M=4 --- N=5 --- O=6 15
21 --- A=1 --- J=1 --- O=6 8
22 --- S=1 --- O=6 --- O=6 13
23 --- T=2 --- O=6 --- O=6 14
24 --- T=2 --- O=6 --- C=3 11
25 --- H=8 --- O=6 --- C=3 17
26 --- H=8 --- O=6 --- C=3 17
27 --- H=8 --- O=6 --- K=2 16
28 --- H=8 --- H=8 --- K=2 18
- Row Firstname Middlename Lastname Total
- 0 --- T=2 --- J=1 --- H=8 11
- 1 --- T=2 --- O=6 --- H=8 16
- 2 --- H=8 --- 0=6 --- H=8 22
- 3 --- H=8 --- 0=6 --- H=8 22
- 4 --- H=8 --- 0=6 --- H=8 22
- 5 --- H=8 --- 0=6 --- H=8 22
- 6 --- H=8 --- 0=6 --- H=8 22
- 7 --- H=8 --- H=8 --- H=8 24
- 8 --- H=8 --- H=8 --- A=1 17
- 9 --- H=8 --- H=8 --- N=5 21
- 10 --- O=6 --- H=8 --- N=5 19
- 11 --- O=6 --- H=8 --- N=5 19
- 12 --- O=6 --- H=8 --- N=5 19
- 13 --- O=6 --- H=8 --- N=5 19
- 14 --- O=6 --- H=8 --- C=3 17
- 15 --- O=6 --- N=5 --- C=3 14
- 17 --- M=4 --- N=5 --- C=3 12
- 18 --- M=4 --- N=5 --- O=6 15
- 19 --- M=4 --- N=5 --- O=6 15
- 20 --- M=4 --- N=5 --- O=6 15
- 21 --- A=1 --- J=1 --- O=6 8
- 22 --- S=1 --- O=6 --- O=6 13
- 23 --- T=2 --- O=6 --- O=6 14
- 24 --- T=2 --- O=6 --- C=3 11
- 25 --- H=8 --- O=6 --- C=3 17
- 26 --- H=8 --- O=6 --- C=3 17
- 27 --- H=8 --- O=6 --- K=2 16
- 28 --- H=8 --- H=8 --- K=2 18
et ainsi de suite....
Si nous regardons la colonne Firstname, nous voyons que nous commençons par la première lettre du prénom et de leur valeur.
La lettre obtient répétée selon sa valeur. Nous voyons T = 2, si elle obtient répété 2 fois.
Nous prenons ensuite la prochaine lettre du prénom et de leur valeur.
Il obtient à nouveau répété selon sa valeur.
Cela vaut pour le reste des lettres du prénom.
Après que nous sommes arrivés à la dernière lettre du prénom, le processus obtient répété de repartir avec la première lettre du prénom.
Aussi vaut également pour le Middlename et Lastname colums.
La colonne Total est simplement l'ajout de la lettre les valeurs à travers la ligne.
Je me suis arrêté à la fin du nom de famille que nous pourrions ne jamais.
Ce que je dois aussi faire ensuite est de pouvoir limiter le nombre de lignes qui seront générés.
Une fois que cela a été fait, j'ai besoin alors d'être en mesure de sélectionner n'importe quelle ligne et afficher sa totale.
Si j'ai sélectionner puis ligne 20, je veux être en mesure de voir le numéro de ligne et de la valeur totale de cette ligne qui serait 20 et 15 au Total.
C'est parce que parfois je ne peux pas le tableau imprimé, mais veulent seulement pouvoir sélectionner une ligne dans la table et afficher la ligne et valule Total
Je vous serais reconnaissant toute aide que quelqu'un peut me donner là-dessus.
Merci
http://www.schembrionics.com
The Ultimate Solutions Center
The Ultimate Solutions Center
- Anonymous
- Bot


- Inscription: 25 Feb 2008
- Messages: ?
- Loc: Ozzuland
- Status: Online
Décembre 8th, 2012, 8:11 pm
- Zealous
- Guru


- Inscription: Avr 15, 2011
- Messages: 1201
- Loc: Sydney
- Status: Online
À l'aide de la base de données MySQL ferait une différence. Insérez vos données dans SQL, puis ajoutez vos mathématiques.
même à l'aide d'Excel, puis exporter vers SQL pour ensuite obtenir vos maths là-dessus.
Si vous allez être en utilisant beaucoup de données, alors je pense à l'aide de la base de données peut être la voie à suivre.
même à l'aide d'Excel, puis exporter vers SQL pour ensuite obtenir vos maths là-dessus.
Si vous allez être en utilisant beaucoup de données, alors je pense à l'aide de la base de données peut être la voie à suivre.
- wpas
- Graduate


- Inscription: Juil 12, 2010
- Messages: 214
- Loc: Canada
- Status: Offline
Je ne crois pas à l'aide d'une base de données serait utile.
Les données repose strictement sur le nom de personnes qui va changer tout le temps donc de le mettre dans une base de données ne fonctionneront pas mais occupe beaucoup d'espace.
Les lignes seront complètement différents lorsque le nom est modifié.
Je ne veux pas stocker des informations.
Aussi, il y aurait plus d'un utilisateur à l'aide du script en même temps qui pourrait créer des problèmes si une base de données est utilisé.
Les données repose strictement sur le nom de personnes qui va changer tout le temps donc de le mettre dans une base de données ne fonctionneront pas mais occupe beaucoup d'espace.
Les lignes seront complètement différents lorsque le nom est modifié.
Je ne veux pas stocker des informations.
Aussi, il y aurait plus d'un utilisateur à l'aide du script en même temps qui pourrait créer des problèmes si une base de données est utilisé.
http://www.schembrionics.com
The Ultimate Solutions Center
The Ultimate Solutions Center
- ScottG
- Proficient


- Inscription: Juil 06, 2010
- Messages: 280
- Status: Offline
OK...ne sais pas ce que vous ment par une table, mais j'ai jeté ensemble vrai rapide pour obtenir les informations dans un tableau. Il a été le premier coup que je l'ai pris à ce peut être lent si les chiffres dans le nom sont grandes, mais le concept correspond à votre table. Il vous placera au moins dans une seule direction.
EDIT:: Ok le code était correct, mais le tableau serait écraser soi dans les lettres pour le nom de middle/premier/dernier étaient les mêmes, alors j'ai ajouté un f-/ m- / l-à la matrice de la table et cela résolu ce problème.
EDIT:: Ok le code était correct, mais le tableau serait écraser soi dans les lettres pour le nom de middle/premier/dernier étaient les mêmes, alors j'ai ajouté un f-/ m- / l-à la matrice de la table et cela résolu ce problème.
PHP Code: [ Select ]
<?php
$ar = array('A' => 1,
'B' => 2,
'C' => 3,
'D' => 4,
'E' => 5,
'F' => 6,
'G' => 7,
'H' => 8,
'I' => 9,
'J' => 1,
'K' => 2,
'L' => 3,
'M' => 4,
'N' => 5,
'O' => 6,
'P' => 7,
'Q' => 8,
'R' => 9,
'S' => 1,
'T' => 2,
'U' => 3,
'V' => 4,
'W' => 5,
'X' => 6,
'Y' => 7,
'Z' => 8
);
$firstname = "Thomas";
$middlename = "John";
$lastname = "Hancock";
// Make all names upper case. to avoid messing with small letters.
$firstname = strtoupper($firstname);
$middlename = strtoupper($middlename);
$lastname = strtoupper($lastname);
// Find the number of letters in each name
$lenfn = strlen($firstname);
$lenmn = strlen($middlename);
$lenln = strlen($lastname);
// Setup arrays to hold the values
$fname = array();
$mname = array();
$lname = array();
// Now loop through each name one by one to get the values of each letter in the name
// First name
for($i=0; $i<$lenfn; $i++) {
$alphafn = $firstname[$i];
$letternumberfn = $ar[$alphafn];
// Loop for letter value
for($j=0; $j<$letternumberfn; $j++) {
// Add to the array
$fname[] = array($alphafn => $letternumberfn);
}
}
// Middle name
for($i=0; $i<$lenmn; $i++) {
$alphamn = $middlename[$i];
$letternumbermn = $ar[$alphamn];
// Loop for letter value
for($j=0; $j<$letternumbermn; $j++) {
// Add to the array
$mname[] = array($alphamn => $letternumbermn);
}
}
// Last name
for($i=0; $i<$lenln; $i++) {
$alphaln = $lastname[$i];
$letternumberln = $ar[$alphaln];
// Loop for letter value
for($j=0; $j<$letternumberln; $j++) {
// Add to the array
$lname[] = array($alphaln => $letternumberln);
}
}
// Setup counters
$counters = array(
"fn" => 0,
"mn" => 0,
"ln" => 0
);
// Make a table array
$table = array();
// Loop again
for($i=0; $i<max(array(count($fname), count($mname), count($lname))); $i++) {
// Check the counter vs array count
if($counters['fn'] == count($fname)) {
// Reset the counter
$counters['fn'] = 0;
}
// Check the counter vs array count
if($counters['mn'] == count($mname)) {
// Reset the counter
$counters['mn'] = 0;
}
// Check the counter vs array count
if($counters['ln'] == count($lname)) {
// Reset the counter
$counters['ln'] = 0;
}
// Add to the table array
$table[] = array(
'f-' . key($fname[$counters['fn']]) => $fname[$counters['fn']][key($fname[$counters['fn']])],
'm-' . key($mname[$counters['mn']]) => $mname[$counters['mn']][key($mname[$counters['mn']])],
'l-' .key($lname[$counters['ln']]) => $lname[$counters['ln']][key($lname[$counters['ln']])],
"total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
);
// Add to the counters
$counters['fn']++;
$counters['mn']++;
$counters['ln']++;
}
print_r($table);
?>
$ar = array('A' => 1,
'B' => 2,
'C' => 3,
'D' => 4,
'E' => 5,
'F' => 6,
'G' => 7,
'H' => 8,
'I' => 9,
'J' => 1,
'K' => 2,
'L' => 3,
'M' => 4,
'N' => 5,
'O' => 6,
'P' => 7,
'Q' => 8,
'R' => 9,
'S' => 1,
'T' => 2,
'U' => 3,
'V' => 4,
'W' => 5,
'X' => 6,
'Y' => 7,
'Z' => 8
);
$firstname = "Thomas";
$middlename = "John";
$lastname = "Hancock";
// Make all names upper case. to avoid messing with small letters.
$firstname = strtoupper($firstname);
$middlename = strtoupper($middlename);
$lastname = strtoupper($lastname);
// Find the number of letters in each name
$lenfn = strlen($firstname);
$lenmn = strlen($middlename);
$lenln = strlen($lastname);
// Setup arrays to hold the values
$fname = array();
$mname = array();
$lname = array();
// Now loop through each name one by one to get the values of each letter in the name
// First name
for($i=0; $i<$lenfn; $i++) {
$alphafn = $firstname[$i];
$letternumberfn = $ar[$alphafn];
// Loop for letter value
for($j=0; $j<$letternumberfn; $j++) {
// Add to the array
$fname[] = array($alphafn => $letternumberfn);
}
}
// Middle name
for($i=0; $i<$lenmn; $i++) {
$alphamn = $middlename[$i];
$letternumbermn = $ar[$alphamn];
// Loop for letter value
for($j=0; $j<$letternumbermn; $j++) {
// Add to the array
$mname[] = array($alphamn => $letternumbermn);
}
}
// Last name
for($i=0; $i<$lenln; $i++) {
$alphaln = $lastname[$i];
$letternumberln = $ar[$alphaln];
// Loop for letter value
for($j=0; $j<$letternumberln; $j++) {
// Add to the array
$lname[] = array($alphaln => $letternumberln);
}
}
// Setup counters
$counters = array(
"fn" => 0,
"mn" => 0,
"ln" => 0
);
// Make a table array
$table = array();
// Loop again
for($i=0; $i<max(array(count($fname), count($mname), count($lname))); $i++) {
// Check the counter vs array count
if($counters['fn'] == count($fname)) {
// Reset the counter
$counters['fn'] = 0;
}
// Check the counter vs array count
if($counters['mn'] == count($mname)) {
// Reset the counter
$counters['mn'] = 0;
}
// Check the counter vs array count
if($counters['ln'] == count($lname)) {
// Reset the counter
$counters['ln'] = 0;
}
// Add to the table array
$table[] = array(
'f-' . key($fname[$counters['fn']]) => $fname[$counters['fn']][key($fname[$counters['fn']])],
'm-' . key($mname[$counters['mn']]) => $mname[$counters['mn']][key($mname[$counters['mn']])],
'l-' .key($lname[$counters['ln']]) => $lname[$counters['ln']][key($lname[$counters['ln']])],
"total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
);
// Add to the counters
$counters['fn']++;
$counters['mn']++;
$counters['ln']++;
}
print_r($table);
?>
- <?php
- $ar = array('A' => 1,
- 'B' => 2,
- 'C' => 3,
- 'D' => 4,
- 'E' => 5,
- 'F' => 6,
- 'G' => 7,
- 'H' => 8,
- 'I' => 9,
- 'J' => 1,
- 'K' => 2,
- 'L' => 3,
- 'M' => 4,
- 'N' => 5,
- 'O' => 6,
- 'P' => 7,
- 'Q' => 8,
- 'R' => 9,
- 'S' => 1,
- 'T' => 2,
- 'U' => 3,
- 'V' => 4,
- 'W' => 5,
- 'X' => 6,
- 'Y' => 7,
- 'Z' => 8
- );
- $firstname = "Thomas";
- $middlename = "John";
- $lastname = "Hancock";
- // Make all names upper case. to avoid messing with small letters.
- $firstname = strtoupper($firstname);
- $middlename = strtoupper($middlename);
- $lastname = strtoupper($lastname);
- // Find the number of letters in each name
- $lenfn = strlen($firstname);
- $lenmn = strlen($middlename);
- $lenln = strlen($lastname);
- // Setup arrays to hold the values
- $fname = array();
- $mname = array();
- $lname = array();
- // Now loop through each name one by one to get the values of each letter in the name
- // First name
- for($i=0; $i<$lenfn; $i++) {
- $alphafn = $firstname[$i];
- $letternumberfn = $ar[$alphafn];
- // Loop for letter value
- for($j=0; $j<$letternumberfn; $j++) {
- // Add to the array
- $fname[] = array($alphafn => $letternumberfn);
- }
- }
- // Middle name
- for($i=0; $i<$lenmn; $i++) {
- $alphamn = $middlename[$i];
- $letternumbermn = $ar[$alphamn];
- // Loop for letter value
- for($j=0; $j<$letternumbermn; $j++) {
- // Add to the array
- $mname[] = array($alphamn => $letternumbermn);
- }
- }
- // Last name
- for($i=0; $i<$lenln; $i++) {
- $alphaln = $lastname[$i];
- $letternumberln = $ar[$alphaln];
- // Loop for letter value
- for($j=0; $j<$letternumberln; $j++) {
- // Add to the array
- $lname[] = array($alphaln => $letternumberln);
- }
- }
- // Setup counters
- $counters = array(
- "fn" => 0,
- "mn" => 0,
- "ln" => 0
- );
- // Make a table array
- $table = array();
- // Loop again
- for($i=0; $i<max(array(count($fname), count($mname), count($lname))); $i++) {
- // Check the counter vs array count
- if($counters['fn'] == count($fname)) {
- // Reset the counter
- $counters['fn'] = 0;
- }
- // Check the counter vs array count
- if($counters['mn'] == count($mname)) {
- // Reset the counter
- $counters['mn'] = 0;
- }
- // Check the counter vs array count
- if($counters['ln'] == count($lname)) {
- // Reset the counter
- $counters['ln'] = 0;
- }
- // Add to the table array
- $table[] = array(
- 'f-' . key($fname[$counters['fn']]) => $fname[$counters['fn']][key($fname[$counters['fn']])],
- 'm-' . key($mname[$counters['mn']]) => $mname[$counters['mn']][key($mname[$counters['mn']])],
- 'l-' .key($lname[$counters['ln']]) => $lname[$counters['ln']][key($lname[$counters['ln']])],
- "total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
- );
- // Add to the counters
- $counters['fn']++;
- $counters['mn']++;
- $counters['ln']++;
- }
- print_r($table);
- ?>
- ScottG
- Proficient


- Inscription: Juil 06, 2010
- Messages: 280
- Status: Offline
- ScottG
- Proficient


- Inscription: Juil 06, 2010
- Messages: 280
- Status: Offline
J'ai lu votre post grâce à nouveau et je tourne dans une fonction avec un limiteur afin de pouvoir limiter le nombre d'enregistrements est retourné par la fonction.
PHP Code: [ Select ]
<?php
function name_counter($firstname, $middlename, $lastname, $limit = false) {
$ar = array('A' => 1,'B' => 2,'C' => 3,'D' => 4,'E' => 5,'F' => 6,'G' => 7,'H' => 8,'I' => 9,'J' => 1,'K' => 2,'L' => 3,'M' => 4,'N' => 5,'O' => 6,'P' => 7,'Q' => 8,'R' => 9,'S' => 1,'T' => 2,'U' => 3,'V' => 4,'W' => 5,'X' => 6,'Y' => 7,'Z' => 8
);
// Make all names upper case. to avoid messing with small letters.
$firstname = strtoupper($firstname);
$middlename = strtoupper($middlename);
$lastname = strtoupper($lastname);
// Find the number of letters in each name
$lenfn = strlen($firstname);
$lenmn = strlen($middlename);
$lenln = strlen($lastname);
// Setup arrays to hold the values
$fname = array();
$mname = array();
$lname = array();
// Now loop through each name one by one to get the values of each letter in the name
// First name
for($i=0; $i<$lenfn; $i++) {
$alphafn = $firstname[$i];
$letternumberfn = $ar[$alphafn];
// Loop for letter value
for($j=0; $j<$letternumberfn; $j++) {
// Add to the array
$fname[] = array($alphafn => $letternumberfn);
}
}
// Middle name
for($i=0; $i<$lenmn; $i++) {
$alphamn = $middlename[$i];
$letternumbermn = $ar[$alphamn];
// Loop for letter value
for($j=0; $j<$letternumbermn; $j++) {
// Add to the array
$mname[] = array($alphamn => $letternumbermn);
}
}
// Last name
for($i=0; $i<$lenln; $i++) {
$alphaln = $lastname[$i];
$letternumberln = $ar[$alphaln];
// Loop for letter value
for($j=0; $j<$letternumberln; $j++) {
// Add to the array
$lname[] = array($alphaln => $letternumberln);
}
}
// Setup counters
$counters = array(
"fn" => 0,
"mn" => 0,
"ln" => 0
);
// Make a table array
$table = array();
// Setup the limit
$limit = ($limit) ? $limit : max(array(count($fname), count($mname), count($lname)));
// Loop again
for($i=0; $i<$limit; $i++) {
// Check the counter vs array count
if($counters['fn'] == count($fname)) {
// Reset the counter
$counters['fn'] = 0;
}
// Check the counter vs array count
if($counters['mn'] == count($mname)) {
// Reset the counter
$counters['mn'] = 0;
}
// Check the counter vs array count
if($counters['ln'] == count($lname)) {
// Reset the counter
$counters['ln'] = 0;
}
// Add to the table array
$table[] = array(
'f-' . key($fname[$counters['fn']]) => $fname[$counters['fn']][key($fname[$counters['fn']])],
'm-' . key($mname[$counters['mn']]) => $mname[$counters['mn']][key($mname[$counters['mn']])],
'l-' .key($lname[$counters['ln']]) => $lname[$counters['ln']][key($lname[$counters['ln']])],
"total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
);
// Add to the counters
$counters['fn']++;
$counters['mn']++;
$counters['ln']++;
}
// Return the table
return $table;
}
$firstname = "Thomas";
$middlename = "John";
$lastname = "Hancock";
//$table1 = name_counter($firstname, $middlename, $lastname);
$table2 = name_counter($firstname, $middlename, $lastname, 20);
// Record 1
echo $table2[0]['total'] . '<br />';
// Record 20
echo $table2[19]['total'] . '<br />';
echo '<pre>';
print_r($table2);
echo '</pre>';
?>
function name_counter($firstname, $middlename, $lastname, $limit = false) {
$ar = array('A' => 1,'B' => 2,'C' => 3,'D' => 4,'E' => 5,'F' => 6,'G' => 7,'H' => 8,'I' => 9,'J' => 1,'K' => 2,'L' => 3,'M' => 4,'N' => 5,'O' => 6,'P' => 7,'Q' => 8,'R' => 9,'S' => 1,'T' => 2,'U' => 3,'V' => 4,'W' => 5,'X' => 6,'Y' => 7,'Z' => 8
);
// Make all names upper case. to avoid messing with small letters.
$firstname = strtoupper($firstname);
$middlename = strtoupper($middlename);
$lastname = strtoupper($lastname);
// Find the number of letters in each name
$lenfn = strlen($firstname);
$lenmn = strlen($middlename);
$lenln = strlen($lastname);
// Setup arrays to hold the values
$fname = array();
$mname = array();
$lname = array();
// Now loop through each name one by one to get the values of each letter in the name
// First name
for($i=0; $i<$lenfn; $i++) {
$alphafn = $firstname[$i];
$letternumberfn = $ar[$alphafn];
// Loop for letter value
for($j=0; $j<$letternumberfn; $j++) {
// Add to the array
$fname[] = array($alphafn => $letternumberfn);
}
}
// Middle name
for($i=0; $i<$lenmn; $i++) {
$alphamn = $middlename[$i];
$letternumbermn = $ar[$alphamn];
// Loop for letter value
for($j=0; $j<$letternumbermn; $j++) {
// Add to the array
$mname[] = array($alphamn => $letternumbermn);
}
}
// Last name
for($i=0; $i<$lenln; $i++) {
$alphaln = $lastname[$i];
$letternumberln = $ar[$alphaln];
// Loop for letter value
for($j=0; $j<$letternumberln; $j++) {
// Add to the array
$lname[] = array($alphaln => $letternumberln);
}
}
// Setup counters
$counters = array(
"fn" => 0,
"mn" => 0,
"ln" => 0
);
// Make a table array
$table = array();
// Setup the limit
$limit = ($limit) ? $limit : max(array(count($fname), count($mname), count($lname)));
// Loop again
for($i=0; $i<$limit; $i++) {
// Check the counter vs array count
if($counters['fn'] == count($fname)) {
// Reset the counter
$counters['fn'] = 0;
}
// Check the counter vs array count
if($counters['mn'] == count($mname)) {
// Reset the counter
$counters['mn'] = 0;
}
// Check the counter vs array count
if($counters['ln'] == count($lname)) {
// Reset the counter
$counters['ln'] = 0;
}
// Add to the table array
$table[] = array(
'f-' . key($fname[$counters['fn']]) => $fname[$counters['fn']][key($fname[$counters['fn']])],
'm-' . key($mname[$counters['mn']]) => $mname[$counters['mn']][key($mname[$counters['mn']])],
'l-' .key($lname[$counters['ln']]) => $lname[$counters['ln']][key($lname[$counters['ln']])],
"total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
);
// Add to the counters
$counters['fn']++;
$counters['mn']++;
$counters['ln']++;
}
// Return the table
return $table;
}
$firstname = "Thomas";
$middlename = "John";
$lastname = "Hancock";
//$table1 = name_counter($firstname, $middlename, $lastname);
$table2 = name_counter($firstname, $middlename, $lastname, 20);
// Record 1
echo $table2[0]['total'] . '<br />';
// Record 20
echo $table2[19]['total'] . '<br />';
echo '<pre>';
print_r($table2);
echo '</pre>';
?>
- <?php
- function name_counter($firstname, $middlename, $lastname, $limit = false) {
- $ar = array('A' => 1,'B' => 2,'C' => 3,'D' => 4,'E' => 5,'F' => 6,'G' => 7,'H' => 8,'I' => 9,'J' => 1,'K' => 2,'L' => 3,'M' => 4,'N' => 5,'O' => 6,'P' => 7,'Q' => 8,'R' => 9,'S' => 1,'T' => 2,'U' => 3,'V' => 4,'W' => 5,'X' => 6,'Y' => 7,'Z' => 8
- );
- // Make all names upper case. to avoid messing with small letters.
- $firstname = strtoupper($firstname);
- $middlename = strtoupper($middlename);
- $lastname = strtoupper($lastname);
- // Find the number of letters in each name
- $lenfn = strlen($firstname);
- $lenmn = strlen($middlename);
- $lenln = strlen($lastname);
- // Setup arrays to hold the values
- $fname = array();
- $mname = array();
- $lname = array();
- // Now loop through each name one by one to get the values of each letter in the name
- // First name
- for($i=0; $i<$lenfn; $i++) {
- $alphafn = $firstname[$i];
- $letternumberfn = $ar[$alphafn];
- // Loop for letter value
- for($j=0; $j<$letternumberfn; $j++) {
- // Add to the array
- $fname[] = array($alphafn => $letternumberfn);
- }
- }
- // Middle name
- for($i=0; $i<$lenmn; $i++) {
- $alphamn = $middlename[$i];
- $letternumbermn = $ar[$alphamn];
- // Loop for letter value
- for($j=0; $j<$letternumbermn; $j++) {
- // Add to the array
- $mname[] = array($alphamn => $letternumbermn);
- }
- }
- // Last name
- for($i=0; $i<$lenln; $i++) {
- $alphaln = $lastname[$i];
- $letternumberln = $ar[$alphaln];
- // Loop for letter value
- for($j=0; $j<$letternumberln; $j++) {
- // Add to the array
- $lname[] = array($alphaln => $letternumberln);
- }
- }
- // Setup counters
- $counters = array(
- "fn" => 0,
- "mn" => 0,
- "ln" => 0
- );
- // Make a table array
- $table = array();
- // Setup the limit
- $limit = ($limit) ? $limit : max(array(count($fname), count($mname), count($lname)));
- // Loop again
- for($i=0; $i<$limit; $i++) {
- // Check the counter vs array count
- if($counters['fn'] == count($fname)) {
- // Reset the counter
- $counters['fn'] = 0;
- }
- // Check the counter vs array count
- if($counters['mn'] == count($mname)) {
- // Reset the counter
- $counters['mn'] = 0;
- }
- // Check the counter vs array count
- if($counters['ln'] == count($lname)) {
- // Reset the counter
- $counters['ln'] = 0;
- }
- // Add to the table array
- $table[] = array(
- 'f-' . key($fname[$counters['fn']]) => $fname[$counters['fn']][key($fname[$counters['fn']])],
- 'm-' . key($mname[$counters['mn']]) => $mname[$counters['mn']][key($mname[$counters['mn']])],
- 'l-' .key($lname[$counters['ln']]) => $lname[$counters['ln']][key($lname[$counters['ln']])],
- "total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
- );
- // Add to the counters
- $counters['fn']++;
- $counters['mn']++;
- $counters['ln']++;
- }
- // Return the table
- return $table;
- }
- $firstname = "Thomas";
- $middlename = "John";
- $lastname = "Hancock";
- //$table1 = name_counter($firstname, $middlename, $lastname);
- $table2 = name_counter($firstname, $middlename, $lastname, 20);
- // Record 1
- echo $table2[0]['total'] . '<br />';
- // Record 20
- echo $table2[19]['total'] . '<br />';
- echo '<pre>';
- print_r($table2);
- echo '</pre>';
- ?>
- wpas
- Graduate


- Inscription: Juil 12, 2010
- Messages: 214
- Loc: Canada
- Status: Offline
Salut ScottG
Excellent travail !
Si j'utilise
ECHO $table2 [0] ["total"]
J'obtiens au Total 11 qui est bon
Comment j'ai montrerait aussi les lettres de la ligne
La clé semble dépendante sur les lettres du premier, du milieu et lastname dont je ne sais pas pour les autres lignes
Je voudrais ensuite est d'être en mesure d'obtenir les informations suivantes pour chaque ligne, à l'aide de la ligne 0 comme exemple :
T, J, H, 11
Merci
Excellent travail !
Si j'utilise
ECHO $table2 [0] ["total"]
J'obtiens au Total 11 qui est bon
Comment j'ai montrerait aussi les lettres de la ligne
La clé semble dépendante sur les lettres du premier, du milieu et lastname dont je ne sais pas pour les autres lignes
Je voudrais ensuite est d'être en mesure d'obtenir les informations suivantes pour chaque ligne, à l'aide de la ligne 0 comme exemple :
T, J, H, 11
Merci
http://www.schembrionics.com
The Ultimate Solutions Center
The Ultimate Solutions Center
- ScottG
- Proficient


- Inscription: Juil 06, 2010
- Messages: 280
- Status: Offline
Avec la formulation actuelle de la fonction est la solution pour que wouldnt être facile cependant faire un changement rapide de la boucle dans la fonction qui génère la sortie tableau put rendrait plus facile
Changement
// Add to the table array
$table[] = array(
'f-' . key($fname[$counters['fn']]) => $fname[$counters['fn']][key($fname[$counters['fn']])],
'm-' . key($mname[$counters['mn']]) => $mname[$counters['mn']][key($mname[$counters['mn']])],
'l-' .key($lname[$counters['ln']]) => $lname[$counters['ln']][key($lname[$counters['ln']])],
"total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
);
À
Ensuite, vous serez capable de l'utiliser comme
Changement
PHP Code: [ Select ]
// Add to the table array
$table[] = array(
'f-' . key($fname[$counters['fn']]) => $fname[$counters['fn']][key($fname[$counters['fn']])],
'm-' . key($mname[$counters['mn']]) => $mname[$counters['mn']][key($mname[$counters['mn']])],
'l-' .key($lname[$counters['ln']]) => $lname[$counters['ln']][key($lname[$counters['ln']])],
"total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
);
- // Add to the table array
- $table[] = array(
- 'f-' . key($fname[$counters['fn']]) => $fname[$counters['fn']][key($fname[$counters['fn']])],
- 'm-' . key($mname[$counters['mn']]) => $mname[$counters['mn']][key($mname[$counters['mn']])],
- 'l-' .key($lname[$counters['ln']]) => $lname[$counters['ln']][key($lname[$counters['ln']])],
- "total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
- );
À
PHP Code: [ Select ]
// Add to the table array
$table[] = array(
'first_name' => array("letter" => key($fname[$counters['fn']]), "value" => $fname[$counters['fn']][key($fname[$counters['fn']])]),
'middle_name' => array("letter" => key($mname[$counters['mn']]), "value" => $mname[$counters['mn']][key($mname[$counters['mn']])]),
'last_name' => array("letter" => key($lname[$counters['ln']]), "value" => $lname[$counters['ln']][key($lname[$counters['ln']])]),
"total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
);
$table[] = array(
'first_name' => array("letter" => key($fname[$counters['fn']]), "value" => $fname[$counters['fn']][key($fname[$counters['fn']])]),
'middle_name' => array("letter" => key($mname[$counters['mn']]), "value" => $mname[$counters['mn']][key($mname[$counters['mn']])]),
'last_name' => array("letter" => key($lname[$counters['ln']]), "value" => $lname[$counters['ln']][key($lname[$counters['ln']])]),
"total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
);
- // Add to the table array
- $table[] = array(
- 'first_name' => array("letter" => key($fname[$counters['fn']]), "value" => $fname[$counters['fn']][key($fname[$counters['fn']])]),
- 'middle_name' => array("letter" => key($mname[$counters['mn']]), "value" => $mname[$counters['mn']][key($mname[$counters['mn']])]),
- 'last_name' => array("letter" => key($lname[$counters['ln']]), "value" => $lname[$counters['ln']][key($lname[$counters['ln']])]),
- "total" => ($fname[$counters['fn']][key($fname[$counters['fn']])] + $mname[$counters['mn']][key($mname[$counters['mn']])] + $lname[$counters['ln']][key($lname[$counters['ln']])])
- );
Ensuite, vous serez capable de l'utiliser comme
PHP Code: [ Select ]
// Record 1
echo $table2[0]['first_name']['letter'] .','. $table2[0]['middle_name']['letter'] .','. $table2[0]['last_name']['letter'] .','. $table2[0]['total']. '<br />';
// Record 1
echo $table2[0]['first_name']['value'] .','. $table2[0]['middle_name']['value'] .','. $table2[0]['last_name']['value'] .','. $table2[0]['total']. '<br />';
echo $table2[0]['first_name']['letter'] .','. $table2[0]['middle_name']['letter'] .','. $table2[0]['last_name']['letter'] .','. $table2[0]['total']. '<br />';
// Record 1
echo $table2[0]['first_name']['value'] .','. $table2[0]['middle_name']['value'] .','. $table2[0]['last_name']['value'] .','. $table2[0]['total']. '<br />';
- // Record 1
- echo $table2[0]['first_name']['letter'] .','. $table2[0]['middle_name']['letter'] .','. $table2[0]['last_name']['letter'] .','. $table2[0]['total']. '<br />';
- // Record 1
- echo $table2[0]['first_name']['value'] .','. $table2[0]['middle_name']['value'] .','. $table2[0]['last_name']['value'] .','. $table2[0]['total']. '<br />';
- ScottG
- Proficient


- Inscription: Juil 06, 2010
- Messages: 280
- Status: Offline
Si cette direction il pourrait être simplifié plus en changeant la fname, tableaux mname et lname ainsi que la matrice du tableau
PHP Code: [ Select ]
<?php
function name_counter($firstname, $middlename, $lastname, $limit = false) {
$ar = array('A' => 1,'B' => 2,'C' => 3,'D' => 4,'E' => 5,'F' => 6,'G' => 7,'H' => 8,'I' => 9,'J' => 1,'K' => 2,'L' => 3,'M' => 4,'N' => 5,'O' => 6,'P' => 7,'Q' => 8,'R' => 9,'S' => 1,'T' => 2,'U' => 3,'V' => 4,'W' => 5,'X' => 6,'Y' => 7,'Z' => 8
);
// Make all names upper case. to avoid messing with small letters.
$firstname = strtoupper($firstname);
$middlename = strtoupper($middlename);
$lastname = strtoupper($lastname);
// Find the number of letters in each name
$lenfn = strlen($firstname);
$lenmn = strlen($middlename);
$lenln = strlen($lastname);
// Setup arrays to hold the values
$fname = array();
$mname = array();
$lname = array();
// Now loop through each name one by one to get the values of each letter in the name
// First name
for($i=0; $i<$lenfn; $i++) {
$alphafn = $firstname[$i];
$letternumberfn = $ar[$alphafn];
// Loop for letter value
for($j=0; $j<$letternumberfn; $j++) {
// Add to the array
$fname[] = array(
"letter" => $alphafn,
"value" => $letternumberfn
);
}
}
// Middle name
for($i=0; $i<$lenmn; $i++) {
$alphamn = $middlename[$i];
$letternumbermn = $ar[$alphamn];
// Loop for letter value
for($j=0; $j<$letternumbermn; $j++) {
// Add to the array
$mname[] = array(
"letter" => $alphamn,
"value" => $letternumbermn
);
}
}
// Last name
for($i=0; $i<$lenln; $i++) {
$alphaln = $lastname[$i];
$letternumberln = $ar[$alphaln];
// Loop for letter value
for($j=0; $j<$letternumberln; $j++) {
// Add to the array
$lname[] = array(
"letter" => $alphaln,
"value" => $letternumberln
);
}
}
// Setup counters
$counters = array(
"fn" => 0,
"mn" => 0,
"ln" => 0
);
// Make a table array
$table = array();
// Setup the limit
$limit = ($limit) ? $limit : max(array(count($fname), count($mname), count($lname)));
// Loop again
for($i=0; $i<$limit; $i++) {
// Check the counter vs array count
if($counters['fn'] == count($fname)) {
// Reset the counter
$counters['fn'] = 0;
}
// Check the counter vs array count
if($counters['mn'] == count($mname)) {
// Reset the counter
$counters['mn'] = 0;
}
// Check the counter vs array count
if($counters['ln'] == count($lname)) {
// Reset the counter
$counters['ln'] = 0;
}
// Add to the table array
$table[] = array(
'first_name' => $fname[$counters['fn']],
'middle_name' => $mname[$counters['mn']],
'last_name' => $lname[$counters['ln']],
"total" => ($fname[$counters['fn']]['value'] + $mname[$counters['mn']]['value'] + $lname[$counters['ln']]['value'])
);
// Add to the counters
$counters['fn']++;
$counters['mn']++;
$counters['ln']++;
}
// Return the table
return $table;
}
$firstname = "Thomas";
$middlename = "John";
$lastname = "Hancock";
//$table1 = name_counter($firstname, $middlename, $lastname);
$table2 = name_counter($firstname, $middlename, $lastname, 20);
// Record 1
echo $table2[0]['first_name']['letter'] .','. $table2[0]['middle_name']['letter'] .','. $table2[0]['last_name']['letter'] .','. $table2[0]['total']. '<br />';
// Record 20
echo $table2[19]['total'] . '<br />';
echo '<pre>';
print_r($table2);
echo '</pre>';
?>
function name_counter($firstname, $middlename, $lastname, $limit = false) {
$ar = array('A' => 1,'B' => 2,'C' => 3,'D' => 4,'E' => 5,'F' => 6,'G' => 7,'H' => 8,'I' => 9,'J' => 1,'K' => 2,'L' => 3,'M' => 4,'N' => 5,'O' => 6,'P' => 7,'Q' => 8,'R' => 9,'S' => 1,'T' => 2,'U' => 3,'V' => 4,'W' => 5,'X' => 6,'Y' => 7,'Z' => 8
);
// Make all names upper case. to avoid messing with small letters.
$firstname = strtoupper($firstname);
$middlename = strtoupper($middlename);
$lastname = strtoupper($lastname);
// Find the number of letters in each name
$lenfn = strlen($firstname);
$lenmn = strlen($middlename);
$lenln = strlen($lastname);
// Setup arrays to hold the values
$fname = array();
$mname = array();
$lname = array();
// Now loop through each name one by one to get the values of each letter in the name
// First name
for($i=0; $i<$lenfn; $i++) {
$alphafn = $firstname[$i];
$letternumberfn = $ar[$alphafn];
// Loop for letter value
for($j=0; $j<$letternumberfn; $j++) {
// Add to the array
$fname[] = array(
"letter" => $alphafn,
"value" => $letternumberfn
);
}
}
// Middle name
for($i=0; $i<$lenmn; $i++) {
$alphamn = $middlename[$i];
$letternumbermn = $ar[$alphamn];
// Loop for letter value
for($j=0; $j<$letternumbermn; $j++) {
// Add to the array
$mname[] = array(
"letter" => $alphamn,
"value" => $letternumbermn
);
}
}
// Last name
for($i=0; $i<$lenln; $i++) {
$alphaln = $lastname[$i];
$letternumberln = $ar[$alphaln];
// Loop for letter value
for($j=0; $j<$letternumberln; $j++) {
// Add to the array
$lname[] = array(
"letter" => $alphaln,
"value" => $letternumberln
);
}
}
// Setup counters
$counters = array(
"fn" => 0,
"mn" => 0,
"ln" => 0
);
// Make a table array
$table = array();
// Setup the limit
$limit = ($limit) ? $limit : max(array(count($fname), count($mname), count($lname)));
// Loop again
for($i=0; $i<$limit; $i++) {
// Check the counter vs array count
if($counters['fn'] == count($fname)) {
// Reset the counter
$counters['fn'] = 0;
}
// Check the counter vs array count
if($counters['mn'] == count($mname)) {
// Reset the counter
$counters['mn'] = 0;
}
// Check the counter vs array count
if($counters['ln'] == count($lname)) {
// Reset the counter
$counters['ln'] = 0;
}
// Add to the table array
$table[] = array(
'first_name' => $fname[$counters['fn']],
'middle_name' => $mname[$counters['mn']],
'last_name' => $lname[$counters['ln']],
"total" => ($fname[$counters['fn']]['value'] + $mname[$counters['mn']]['value'] + $lname[$counters['ln']]['value'])
);
// Add to the counters
$counters['fn']++;
$counters['mn']++;
$counters['ln']++;
}
// Return the table
return $table;
}
$firstname = "Thomas";
$middlename = "John";
$lastname = "Hancock";
//$table1 = name_counter($firstname, $middlename, $lastname);
$table2 = name_counter($firstname, $middlename, $lastname, 20);
// Record 1
echo $table2[0]['first_name']['letter'] .','. $table2[0]['middle_name']['letter'] .','. $table2[0]['last_name']['letter'] .','. $table2[0]['total']. '<br />';
// Record 20
echo $table2[19]['total'] . '<br />';
echo '<pre>';
print_r($table2);
echo '</pre>';
?>
- <?php
- function name_counter($firstname, $middlename, $lastname, $limit = false) {
- $ar = array('A' => 1,'B' => 2,'C' => 3,'D' => 4,'E' => 5,'F' => 6,'G' => 7,'H' => 8,'I' => 9,'J' => 1,'K' => 2,'L' => 3,'M' => 4,'N' => 5,'O' => 6,'P' => 7,'Q' => 8,'R' => 9,'S' => 1,'T' => 2,'U' => 3,'V' => 4,'W' => 5,'X' => 6,'Y' => 7,'Z' => 8
- );
- // Make all names upper case. to avoid messing with small letters.
- $firstname = strtoupper($firstname);
- $middlename = strtoupper($middlename);
- $lastname = strtoupper($lastname);
- // Find the number of letters in each name
- $lenfn = strlen($firstname);
- $lenmn = strlen($middlename);
- $lenln = strlen($lastname);
- // Setup arrays to hold the values
- $fname = array();
- $mname = array();
- $lname = array();
- // Now loop through each name one by one to get the values of each letter in the name
- // First name
- for($i=0; $i<$lenfn; $i++) {
- $alphafn = $firstname[$i];
- $letternumberfn = $ar[$alphafn];
- // Loop for letter value
- for($j=0; $j<$letternumberfn; $j++) {
- // Add to the array
- $fname[] = array(
- "letter" => $alphafn,
- "value" => $letternumberfn
- );
- }
- }
- // Middle name
- for($i=0; $i<$lenmn; $i++) {
- $alphamn = $middlename[$i];
- $letternumbermn = $ar[$alphamn];
- // Loop for letter value
- for($j=0; $j<$letternumbermn; $j++) {
- // Add to the array
- $mname[] = array(
- "letter" => $alphamn,
- "value" => $letternumbermn
- );
- }
- }
- // Last name
- for($i=0; $i<$lenln; $i++) {
- $alphaln = $lastname[$i];
- $letternumberln = $ar[$alphaln];
- // Loop for letter value
- for($j=0; $j<$letternumberln; $j++) {
- // Add to the array
- $lname[] = array(
- "letter" => $alphaln,
- "value" => $letternumberln
- );
- }
- }
- // Setup counters
- $counters = array(
- "fn" => 0,
- "mn" => 0,
- "ln" => 0
- );
- // Make a table array
- $table = array();
- // Setup the limit
- $limit = ($limit) ? $limit : max(array(count($fname), count($mname), count($lname)));
- // Loop again
- for($i=0; $i<$limit; $i++) {
- // Check the counter vs array count
- if($counters['fn'] == count($fname)) {
- // Reset the counter
- $counters['fn'] = 0;
- }
- // Check the counter vs array count
- if($counters['mn'] == count($mname)) {
- // Reset the counter
- $counters['mn'] = 0;
- }
- // Check the counter vs array count
- if($counters['ln'] == count($lname)) {
- // Reset the counter
- $counters['ln'] = 0;
- }
- // Add to the table array
- $table[] = array(
- 'first_name' => $fname[$counters['fn']],
- 'middle_name' => $mname[$counters['mn']],
- 'last_name' => $lname[$counters['ln']],
- "total" => ($fname[$counters['fn']]['value'] + $mname[$counters['mn']]['value'] + $lname[$counters['ln']]['value'])
- );
- // Add to the counters
- $counters['fn']++;
- $counters['mn']++;
- $counters['ln']++;
- }
- // Return the table
- return $table;
- }
- $firstname = "Thomas";
- $middlename = "John";
- $lastname = "Hancock";
- //$table1 = name_counter($firstname, $middlename, $lastname);
- $table2 = name_counter($firstname, $middlename, $lastname, 20);
- // Record 1
- echo $table2[0]['first_name']['letter'] .','. $table2[0]['middle_name']['letter'] .','. $table2[0]['last_name']['letter'] .','. $table2[0]['total']. '<br />';
- // Record 20
- echo $table2[19]['total'] . '<br />';
- echo '<pre>';
- print_r($table2);
- echo '</pre>';
- ?>
- wpas
- Graduate


- Inscription: Juil 12, 2010
- Messages: 214
- Loc: Canada
- Status: Offline
- ScottG
- Proficient


- Inscription: Juil 06, 2010
- Messages: 280
- Status: Offline
- wpas
- Graduate


- Inscription: Juil 12, 2010
- Messages: 214
- Loc: Canada
- Status: Offline
Salut ScottG
J'ai testé à l'aide de firstname, middlename et lastname et il fonctionne parfaitement.
Je viens de remarquer que si j'utilise uniquement firstname et lastname, aucun middlename, je reçois l'avertissement suivant :
AVERTISSEMENT : key() attend paramètre 1 à tableau, nulle étant donné dans/Home /...
On dirait que vous devez donner un deuxième prénom.
Il se fixe afin que si un deuxième prénom n'est pas utilisé, je ne reçois pas l'avertissement.
Merci
J'ai testé à l'aide de firstname, middlename et lastname et il fonctionne parfaitement.
Je viens de remarquer que si j'utilise uniquement firstname et lastname, aucun middlename, je reçois l'avertissement suivant :
AVERTISSEMENT : key() attend paramètre 1 à tableau, nulle étant donné dans/Home /...
On dirait que vous devez donner un deuxième prénom.
Il se fixe afin que si un deuxième prénom n'est pas utilisé, je ne reçois pas l'avertissement.
Merci
http://www.schembrionics.com
The Ultimate Solutions Center
The Ultimate Solutions Center
- ScottG
- Proficient


- Inscription: Juil 06, 2010
- Messages: 280
- Status: Offline
Avec le dernier message que j'avais posté la fonction, j'ai enlevé l'utilisationdes key(). J'ai testé avec
Et eu aucun avertissement avis justes. Dans la mesure où l'ancien code, vous pourriez ajouter
après le pour la build en boucle ces tableaux cela fera en sorte que les tableaux ont des tableaux dans ce va arrêter les avertissements, mais vous donner avis comme la version plus récente de la fonction
PHP Code: [ Select ]
error_reporting(E_ALL);
$firstname = "Thomas";
$middlename = "";
$lastname = "Hancock";
$table2 = name_counter($firstname, $middlename, $lastname, 20);
$firstname = "Thomas";
$middlename = "";
$lastname = "Hancock";
$table2 = name_counter($firstname, $middlename, $lastname, 20);
- error_reporting(E_ALL);
- $firstname = "Thomas";
- $middlename = "";
- $lastname = "Hancock";
- $table2 = name_counter($firstname, $middlename, $lastname, 20);
Et eu aucun avertissement avis justes. Dans la mesure où l'ancien code, vous pourriez ajouter
PHP Code: [ Select ]
// Check for arrays
$fname[0] = (is_array($fname[0])) ? $fname[0] : array();
$mname[0] = (is_array($mname[0])) ? $mname[0] : array();
$lname[0] = (is_array($lname[0])) ? $lname[0] : array();
$fname[0] = (is_array($fname[0])) ? $fname[0] : array();
$mname[0] = (is_array($mname[0])) ? $mname[0] : array();
$lname[0] = (is_array($lname[0])) ? $lname[0] : array();
- // Check for arrays
- $fname[0] = (is_array($fname[0])) ? $fname[0] : array();
- $mname[0] = (is_array($mname[0])) ? $mname[0] : array();
- $lname[0] = (is_array($lname[0])) ? $lname[0] : array();
après le pour la build en boucle ces tableaux cela fera en sorte que les tableaux ont des tableaux dans ce va arrêter les avertissements, mais vous donner avis comme la version plus récente de la fonction
- wpas
- Graduate


- Inscription: Juil 12, 2010
- Messages: 214
- Loc: Canada
- Status: Offline
Hey, vous avez raison
Je suis retourné et a refait le code à nouveau.
Je dois avoir en quelque sorte obtenu votre première version et la version deuxième vissé vers le haut quand j'ai fait les changements.
Fonctionne parfaitement sans deuxième prénom.
Merci et Désolé
Je suis retourné et a refait le code à nouveau.
Je dois avoir en quelque sorte obtenu votre première version et la version deuxième vissé vers le haut quand j'ai fait les changements.
Fonctionne parfaitement sans deuxième prénom.
Merci et Désolé
http://www.schembrionics.com
The Ultimate Solutions Center
The Ultimate Solutions Center
- ScottG
- Proficient


- Inscription: Juil 06, 2010
- Messages: 280
- Status: Offline
- Anonymous
- Bot


- Inscription: 25 Feb 2008
- Messages: ?
- Loc: Ozzuland
- Status: Online
Décembre 11th, 2012, 3:50 pm
Page 1 sur 1
Pour répondre à ce sujet, vous devez vous connecter ou vous enregistrer. Il est gratuit.
Afficher de l'information
- Total des messages de ce sujet: 15 messages
- Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 176 invités
- Vous ne pouvez pas poster de nouveaux sujets
- Vous ne pouvez pas répondre aux sujets
- Vous ne pouvez pas éditer vos messages
- Vous ne pouvez pas supprimer vos messages
- Vous ne pouvez pas joindre des fichiers
