免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zhuomingliang
打印 上一主题 下一主题

我被面试的两个外企面试题相同之处 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-09-05 09:50 |只看该作者
貌似 count 是数组函数~~~


  1. <?php
  2. $foo = 'This is a book';
  3. $i = 0;
  4. $result = '';
  5. $temp = '';
  6. while(isset($foo{$i}))
  7. {
  8.     if ($foo{$i} === ' ')
  9.     {
  10.         $result = ' ' . $temp . $result;
  11.         $temp = '';
  12.     }
  13.     else
  14.     {
  15.         $temp .= $foo{$i};
  16.     }
  17.     $i ++;
  18. }
  19. $result = $temp . $result;
  20. echo $result;
  21. ?>

复制代码

论坛徽章:
0
12 [报告]
发表于 2007-09-05 10:37 |只看该作者
呵呵,,这样的题目,,,我会写


垃圾题,over。

论坛徽章:
0
13 [报告]
发表于 2007-09-05 10:40 |只看该作者
解决那个题目,,我想可以用字符数组


  1. $str="dsdss"
  2. echo $str[1]
复制代码

论坛徽章:
0
14 [报告]
发表于 2007-09-05 10:51 |只看该作者
echo "book a is This";

echo不是语法

论坛徽章:
0
15 [报告]
发表于 2007-09-05 11:01 |只看该作者
<?php
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;#

&nbsp;&nbsp;&nbsp;&nbsp;# 纯变量组合输出,没有任何函数

&nbsp;&nbsp;&nbsp;&nbsp;#


&nbsp;&nbsp;&nbsp;&nbsp;$string = 'This is a book';

&nbsp;&nbsp;&nbsp;&nbsp;$book = $string[10].$string[11].$string[12].$string[13];
&nbsp;&nbsp;&nbsp;&nbsp;$a = $string[8];
&nbsp;&nbsp;&nbsp;&nbsp;$is = $string[5].$string[6];
&nbsp;&nbsp;&nbsp;&nbsp;$This = $string[0].$string[1].$string[2].$string[3];
&nbsp;&nbsp;&nbsp;&nbsp;$space = $string[4];

&nbsp;&nbsp;&nbsp;&nbsp;$newString = $book.$space.$a.$space.$is.$space.$This;

&nbsp;&nbsp;&nbsp;&nbsp;echo $newString;

?>



这个怎么样,一个函数都没用到。

论坛徽章:
0
16 [报告]
发表于 2007-09-05 11:04 |只看该作者
原帖由 james.liu 于 2007-9-5 10:40 发表
解决那个题目,,我想可以用字符数组


$str="dsdss"
echo $str[1]


这里先说到了。没看到。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:55:28
17 [报告]
发表于 2007-09-05 11:15 |只看该作者
用字符数组不好吧,如果是换个句子或者换个单词就重新写了,有些投机的感觉。。。

phpchina上看过新手题是把字符串完全倒过来写,倒是可以用这个办法。

论坛徽章:
0
18 [报告]
发表于 2007-09-05 11:21 |只看该作者
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// PHP CODE Highliting for CU by dZ902


<?php
$str
= 'quick fox jumps over lazy dog';
$res = '';
$exp = array();

function
my_count($str)
{
   
$i = 0;

    while (isset(
$str[$i])) {
        ++
$i;
    }

    return
$i;
}

for (
$i = 0, $j = 0, $max = my_count($str); $i < $max; ++$i) {
    if (
$str[$i] == ' ') {
        ++
$j;
        continue;
    }

   
$exp[$j] .= $str[$i];
}

for (
$i = my_count($exp) - 1; $i >= 0; --$i) {
    if (
$i == 0) {
        
$res .= "{$exp[$i]}";
    } else {
        
$res .= "{$exp[$i]} ";
    }
}

var_dump($res);
?>


论坛徽章:
0
19 [报告]
发表于 2007-09-05 11:29 |只看该作者
原帖由 dz902 于 2007-9-5 11:21 发表
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// PHP CODE Highliting for CU by dZ902





:em ...



把你定义的那个my_count放在 for 表达式里面是不是不太好?这样每次循环,都会调用你这个my_count

论坛徽章:
0
20 [报告]
发表于 2007-09-05 11:35 |只看该作者
原帖由 a_coder 于 2007-9-5 13:29 发表



把你定义的那个my_count放在 for 表达式里面是不是不太好?这样每次循环,都会调用你这个my_count


请看我的这个帖子中的讨论
for 的 initialization 是只做一次的,所以这样写 for loop 的方法是最高效而且最简洁的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP