php - 我有这样的代码如何编码这样的打印?
问题描述
输入名称:DEVO AVIDIANTO PRATAMA 输出:DAP 如果输入三个字,出现DAP
输入名称:AULIA ABRAR 输出:AAB 如果输入两个字,出现AAB
输入名称:AULIA 输出:AUL 如果输入一个单词,出现AUL
<?php
$nama = $_POST['nama'];
$arr = explode(" ", $nama);
//var_dump($arr);die;
$jum_kata = count($arr);
//echo $jum_kata;die;
$singkatan = "";
if($jum_kata == 1){
//print_r($arr);
foreach($arr as $kata)
{
echo substr($kata, 0,3);
}
}else if($jum_kata == 2) {
foreach ($arr as $kata) {
echo substr($kata,0,2);
}
}else {
foreach ($arr as $kata) {
echo substr($kata,0,1);
}
}
?>
如何更正此代码:
else if($jum_kata == 2) {
foreach ($arr as $kata) {
echo substr($kata,0,2);
}
打印 AAB?
解决方案
作为另一种方法的变体。将每个下一个字符串放在前一个字符串上,并移动一步。然后切片结果字符串的开头
function initials($str, $length=3) {
$string = '';
foreach(explode(' ', $str) as $k=>$v) {
$string = substr($string, 0, $k) . $v;
}
return substr($string, 0, $length);
}
echo initials('DEVO AVIDIANTO PRATAMA'). "\n"; // DAP
echo initials('AULIA ABRAR'). "\n"; // AAB
echo initials('AULIA'). "\n"; // AUL
推荐阅读
- python-3.x - 为什么 Bokeh 的情节不会随着情节选择而改变?
- javascript - 通过使用 jquery 引用类名来关注下一个输入元素
- django - 检查对象是否已存在于 manytomany 字段中
- python - UnboundLocalError 异常值:分配前引用的局部变量“first_name”
- ios - 将 UIColor 与文本标签/字符串进行比较
- javascript - 无法覆盖 Awesome-slider-react 的 css 类
- laravel - 如何在 laravel 5.8 中更改默认 api 路由路径
- .htaccess - .htaccess Angular 应用程序爬虫重定向不适用于特定 URL
- laravel - 混淆了雄辩的关系 | 简单的电话库存数据库
- c - 尝试使用 Winsock 标头进行编译时,Windows 上的 Clang 会出错