从PHP数组中的一个单词中删除一个字符-仅显示一个单词
在“无第一个字符”部分中,仅显示数组的最后一个元素,不确定原因。需要显示整个阵列。有人能提出什么建议吗? 我应该将foreach循环留在那里,还是使用其他方法来完成任务? 只需要删除数组中每个随机字的第一个字母从PHP数组中的一个单词中删除一个字符-仅显示一个单词,php,arrays,substr,Php,Arrays,Substr,在“无第一个字符”部分中,仅显示数组的最后一个元素,不确定原因。需要显示整个阵列。有人能提出什么建议吗? 我应该将foreach循环留在那里,还是使用其他方法来完成任务? 只需要删除数组中每个随机字的第一个字母 function generate($length) { $a1 = str_split('0123456789'); $a2 = str_split('abcdefghijklmnopqrstuvwxyz'); $a3 = str_split('!#$'); $result
function generate($length)
{
$a1 = str_split('0123456789');
$a2 = str_split('abcdefghijklmnopqrstuvwxyz');
$a3 = str_split('!#$');
$result = '';
for ($i = 0; $i < $length; $i ++)
{
$values = array_merge($a1,$a2,$a3);
$x = rand(0, count($values)-1);
$result .= $values[$x];//taking one symbol
}
return $result;
}
$array = array();
$count = 4; // number of elements
$length = 5;
for ($i = 0; $i < $count; $i++) {
$array[] = generate($length);
}
echo '<br>';
echo 'Original array: ' , '<pre>';
print_r($array);
echo '</pre>', '<br>';
echo 'Sorted: ';
sort($array);
echo '<pre>';
print_r($array);
echo '</pre>' ,'<br>';
echo 'No first characters: ';
foreach($array as $word)
{
$array = substr($word,1);
}
echo '<pre>';
print_r($array);
echo '</pre>' ,'<br>';
函数生成($length)
{
$a1=str_分割('0123456789');
$a2=str_split('abcdefghijklmnopqrstuvwxyz');
$a3=STRU分割(“!”);
$result='';
对于($i=0;$i<$length;$i++)
{
$values=数组合并($a1、$a2、$a3);
$x=兰特(0,计数($value)-1);
$result.=$values[$x];//取一个符号
}
返回$result;
}
$array=array();
$count=4;//元素数
$length=5;
对于($i=0;$i<$count;$i++){
$array[]=生成($length);
}
回声“
”;
回显“原始数组:”,“”;
foreach($array as &$word)
{
$word = substr($word,1);
}
打印(数组);
回音“,”
”;
回声“排序:”;
排序($数组);
回声';
打印(数组);
回音“,”
”;
回显“没有第一个字符:”;
foreach($word形式的数组)
{
$array=substr($word,1);
}
回声';
打印(数组);
回音“,”
”;
如果需要从每个单词中删除一个字母,那么为什么要重写$array
?将简单循环与通过引用传递变量的&
一起使用:
如果您需要从每个单词中删除一个字母,那么为什么要重写
$array
?将简单循环与通过引用传递变量的&
一起使用:
最佳和最短的方法
最佳和最短的方法
谢谢你的帮助。老实说,甚至忘记了这是一个选项。在使用引用(
&
)和foreach
循环时要非常小心:有关详细信息,请参阅上的红色大警告。最佳做法是不为此目的使用引用。相反,请使用数组键(例如,foreach($array as$key=>$value){$array[$key]='newvalue';}
),或者,如果确实使用引用,则使用循环后的变量。谢谢您的建议谢谢您的帮助。老实说,甚至忘记了这是一个选项。在使用引用(&
)和foreach
循环时要非常小心:有关详细信息,请参阅上的红色大警告。最佳做法是不为此目的使用引用。相反,请使用数组键(例如,foreach($array as$key=>$value){$array[$key]='newvalue';}
),或者,如果确实使用引用,则使用循环后的变量。感谢您的建议Simpler.Simpler。
echo 'No first characters: ';
$array = array_map(function($word){ return substr($word,1); }, $array);