我想在PHP中学习以下脚本,它实际上是在C中,如何将完全相同的代码转换为PHP?
int solution(int A[], int N) {
int equi(int arr[], int n) {
if (n==0) return -1;
long long sum = 0;
int i;
for(i=0;i<n;i++) sum+=(long long) arr[i];
long long sum_left = 0;
for(i=0;i<n;i++) {
long long sum_right = sum - sum_left - (long long) arr[i];
if (sum_left == sum_right) return i;
sum_left += (long long) arr[i];
}
return -1;
}
}
答案 0 :(得分:1)
没有可用的工具可以直接将C代码转换为PHP代码。你必须学习PHP并编写代码。 PHP和C有类似的语法。通过所有可能的测试用例进行测试,并确保获得与C代码相同的结果。
答案 1 :(得分:1)
你需要为函数取出返回类型(除非你想在php7中这样做)并删除变量类型。在php函数中以关键字'function'开头。以下是您的代码的可能转换。应该没有语法错误,但代码中的一些变化可能需要获得C的确切功能。
<?php
function solution($A, $N) {
function equi($arr, $n) {
if ($n==0) return -1;
$sum = 0;
for($i=0;$i<$n;$i++)
$sum+=$arr[$i];
$sum_left = 0;
for($i=0;$i<$n;$i++) {
$sum_right = $sum - $sum_left - $arr[$i];
if ($sum_left == $sum_right) return $i;
$sum_left += $arr[$i];
}
return -1;
}
}