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 です。
修繕