php中php字符串的最后一个字符

时间:2012-11-15 08:11:35

标签: php

在C中,字符串的最后一个字符始终为'\ 0',PHP也是如此吗?如果没有,那么PHP中字符串的最后一个字符是什么?

4 个答案:

答案 0 :(得分:3)

PHP中的字符串是二进制安全的,这意味着它们也可以包含\0。因此,没有可以使用的终止字符。

相反,字符串的长度分别存储在PHP的internal variable representation中。这也使字符串长度计算更快。

  

我有一个csv文件,其中包含数据库的一些数据。现在我必须转换sql格式的每一行数据。 csv文件中的数据如下:“abc,abc,1243,abc”我必须使它们像'abc','abc',123,'abc'“。

首先,您应该使用fgetcsv();它将整行(或某些情况下的行)转换为一个数组。

我猜你想把这些值存储到数据库中;你可以用这个:

if ($arr = fgetcsv($f)) {
    $stmt = $db->prepare('INSERT INTO tablename VALUES (?, ?, ?, ?)');
    $stmt->execute($arr);
}

这假设您的CSV中的每一行都有四个项目;为了使其更通用,您可以使用$arr的长度来构建要在查询中添加的占位符数。

答案 1 :(得分:1)

要遍历字符串中的字符,请编写:

for (i = 0; i < strlen($string); i++) {
    $char = substr($string, $i, 1);
    // Do stuff with $char
}

答案 2 :(得分:1)

我认为应该这样做

  $lastChar = substr($string, -1);

答案 3 :(得分:0)

for( $i = 0, $len = strlen( $string ); $i < $len; $i++ )
{
    $char = $string[ $i ];
    // do something with $char
}

......是一种方法。

另一种方法是简单地使用PHP函数str_split()(它创建字符串各个字符的数组(除非你传递第二个参数$split_length,其长度不同于默认值)) :

foreach( str_split( $string ) as $char )
{
    // do something with $char
}

......等等。

编辑:

作为对你的问题的评论的附录;使用fgetcsv()解析csv文件。