我是PHP
的新手,我正在尝试构建一种类型的生成器。我开始用硬编码不同的数组值。因此,“()”之间的所有内容都是我要存储在文本文件中的内容。但是我看不出应该怎么做。
实施例。 $num = array (0,1,2,3,4,5,6,7,8,9);
数字0-9是我想要的数组来自文本文件而不是。
与$spec = array ('!','#','%','&','?');
以下是我现在的表现:
<?php
$pass = array();
$verb = array ('Klappa', 'Springande','Bakande', 'Badande',
'Cyklande', 'Jagande', 'Skrattande', 'Flygande', 'Simmande','Gissande');
$num = array (0,1,2,3,4,5,6,7,8,9);
$sub = array ('katt', 'hund','fisk', 'padda', 'lama', 'tiger','panda', 'lejon', 'djur', 'telefon');
$spec = array ('!','#','%','&','?');
$pass[] = $verb[array_rand($verb)];
for($i=0;$i<1;$i++){
$pass[] = $num[array_rand($num)];
}
$pass[] = $sub[array_rand($sub)];
for($i=0;$i<1;$i++){
$pass[] = $spec[array_rand($spec)];
}
//shuffle($pass);
foreach($pass as $p){
$password .= $p;
}
// echo "$password <br>";
?>
我不希望('!','#','%','&','?');
显示在代码中,也希望从文本文件中读取。我该怎么办?
答案 0 :(得分:1)
如果你正在写一个文件,你可以:
<?php
foreach(range(0,9) as $number){
$output .= $number . PHP_EOL;
}
file_put_contents('textfile.txt', $output);
?>
将以下列格式输出到textfile.txt:
0
1
2
3
4
5
6
7
8
9
将其读回数组,然后可以
<?php
$input = file_get_contents('textfile.txt');
$num = [];
$num = explode(PHP_EOL,$input);
//Take the blank element off the end of the array
array_pop($num);
echo '<pre>';
print_r($num);
echo '</pre>';
?>
将为您提供输出
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
)
读取您可以调用的号码
<?php
foreach($num as $number){
//You can do whatever you want here, but i'm just going to print number
echo $number;
}
?>
会给你
0123456789
我知道有更简单的方法,但这样做,所以OP可以看到发生了什么。
答案 1 :(得分:0)
您可以做的是创建文件,然后逐行插入所需的字符。 您可以使用此代码段读取文件并将值插入数组:
<?php
$handle = @fopen("/file.txt", "r");
//declare your array here
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
//add $buffer to your array.
}
fclose($handle);
}
?>
您可能需要查看this as a reference。