0

在 php 这一行

      for($i = 0; $i < strlen($string); $i++){
        $keychar = substr($key, ($i % strlen($key))-1,1);
        echo $keychar;
    }
returns `70684292517 `

如果我在objective-c中做这个等价物,它会返回一个完全不同的值。

 for (int i = 0; i < string.length; i++) {
        NSString *_keychar = [key substringWithRange:NSMakeRange((i % key.length)-1,1)];
//The fix
NSString *_keychar = [key substringWithRange:NSMakeRange(((i % key.length) ? (i % key.length) : (key.length) )-1,1)];
        NSLog(@"%@",_keychar);
    }

    returns `068429251`

那么,为什么 obj-c 代码不返回与 php 相同的值(应该如何)?我究竟做错了什么?字符串的长度为 11,键的值为 0684292517

固定的

4

0 回答 0