去哪儿网 笔试 中文分词 程序
参加了去哪儿网的笔试貌似转换成数组,再倒序下就可以了。
问题是如何实现以“.”为分隔呢?两个点之间字符的转化为一个数组单元。大神求解
貌似转换成数组,再倒序下就可以了。
问题是如何实现以“.”为分隔呢?两个点之间字符的转化为一个数组单元。
$s = 'asp.php.jsp.javascript';echo join('.', array_reverse(explode('.', $s)));
$s = 'asp.php.jsp.javascript';echo join('.', array_reverse(explode('.', $s)));
<script type="text/javascript">var a='asp.php.jsp.javascript';alert(a.split('.').reverse().join('.'));</script>
如果你不是那种“屡败屡战”型的,建议还是多修炼一段日子再去面试好,不然会一直面对失败打击自己信心的
这是基础吧?
估计是要用非系统自带函数来实现的
这是基础吧?
嗯 当时其实是在纠结自己写函数实现还是什么
估计是要用非系统自带函数来实现的
嗯 当时想到这个了
如果你不是那种“屡败屡战”型的,建议还是多修炼一段日子再去面试好,不然会一直面对失败打击自己信心的
恩恩 谢谢啦!
非系统自带函数来实现,不用array_reverse,就可以这样写吧.
function reverse_str($s){$r=explode('.', $s);$c=count($r);$i=0;foreach($r as $k=>$v){ if($i<$c/2){ $r[$k]=$r[$c-1-$i];//最前面的键值等于最后面的值 $r[$c-1-$i]=$v;//最后面的键值等于最前面的值,以此类推交换键值 $i++; }else{ break; }} return join('.', $r);}//测试$s="1.2.3.4.5.6";echo reverse_str($s);
非系统自带函数来实现,不用array_reverse,就可以这样写吧.
function reverse_str($s){$r=explode('.', $s);$c=count($r);$i=0;foreach($r as $k=>$v){ if($i<$c/2){ $r[$k]=$r[$c-1-$i];//最前面的键值等于最后面的值 $r[$c-1-$i]=$v;//最后面的键值等于最前面的值,以此类推交换键值 $i++; }else{ break; }} return join('.', $r);}//测试$s="1.2.3.4.5.6";echo reverse_str($s);