# PHP அணிகளும் JSON-உம்: எப்படிப் பொருந்துகின்றன, இந்த மாற்றி உண்மையில் எதைப் படிக்கிறது

> இந்தப் பக்கம் பற்றிய சோதித்த விளக்கம்: PHP முதல் JSON-க்குப் பின்னுள்ள உரை மாற்றப் படிகள், எவை மாறும் எவை தோல்வியடையும், JSON முதல் PHP வெளியீட்டிலுள்ள எஸ்கேப் ஆபத்துகள், துல்லியம் முக்கியமாகும்போது பயன்படுத்த வேண்டிய PHP பக்க விதிகள் (json_encode, json_decode, var_export).

- Tool: [PHP வரிசை JSON மாற்றி](https://toolsg.com/ta/php-array-json-converter)
- Language: ta (available: en, zh, ms, ta)
- Last verified against official sources: 2026-10-19
- Source site: ToolSG — a planning guide, not official or financial advice. Cite the agencies listed under Sources.

## முக்கிய எண்கள் ஒரே பார்வையில்

| விவரம் | மதிப்பு | ஆதாரம் |
| --- | --- | --- |
| வேலை செய்யும் PHP முதல் JSON உள்ளீடு | குறுகிய தொடரியல் பட்டியல்களும் JSON போன்ற உரையும் — எ.கா. ['a','b'], [1,2,3,], [[1,2],[3]]. எளிய JSON உரையும் கடந்து செல்லும். |  |
| தோல்வியடையும் PHP முதல் JSON உள்ளீடு | => அல்லது array( ... ) உள்ள எதுவும் — பக்கம் => ஐ முக்காற்புள்ளியாகவும் array( ஐ [ ஆகவும் மாற்றும், ஆனால் மூடும் அடைப்புக்குறியை ஒருபோதும் மாற்றாது; எனவே விசை/மதிப்பு அணிகளும் array() உம் செல்லாதவை என நிராகரிக்கப்படும். |  |
| JSON முதல் PHP வெளியீடு | இரட்டை மேற்கோள் சரங்கள், 4 இடைவெளி உள்தள்ளல், பொருள்களுக்கு => — சரங்களில் இரட்டை மேற்கோள் மட்டுமே எஸ்கேப் செய்யப்படும்; தரவிலுள்ள $ அல்லது பின்சாய்வுக்கோடு செய்யப்படாது. |  |
| var_export தேர்வு | எதையும் மாற்றாது — பெட்டி குறியிடப்பட்டாலும் இல்லாவிட்டாலும் வெளியீடு ஒன்றே; அது var_export-இன் உண்மையான வடிவமும் அல்ல. |  |

## PHP அணியை நம்பகமாக JSON ஆக மாற்றுதல்

PHP-ஐப் பகுப்பதை PHP-யிடமே விடுங்கள்; பக்கத்தை JSON பக்கத்துக்குப் பயன்படுத்துங்கள்.

1. **PHP-இல் குறியாக்குங்கள்** — உங்கள் சொந்த ஸ்கிரிப்ட் அல்லது REPL-இல் json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) இயக்குங்கள்.
2. **JSON-ஐச் சோதியுங்கள்** — முடிவைச் சரிபார்ப்பியில் ஒட்டி, அது பகுக்கப்படுகிறதா என உறுதி செய்து, இடம் சார்ந்த பிழை இருந்தால் பாருங்கள். கருவிகள்: [JSON சரிபார்ப்பான்](https://toolsg.com/ta/json-validator)
3. **வேறு பாணி தேவைப்பட்டால் மறுவடிவமையுங்கள்** — 4 இடைவெளி அல்லது தாவல் உள்தள்ளலுக்கு வடிவமைப்பியையும், ஒரு வரிக்குச் சுருக்கியையும் பயன்படுத்துங்கள். கருவிகள்: [JSON வடிவமைப்பான் & மினிஃபையர்](https://toolsg.com/ta/json-formatter), [JSON சுருக்கி](https://toolsg.com/ta/json-minify)

## பக்கம் உண்மையில் என்ன செய்கிறது

எந்தத் திசையும் PHP பகுப்பாய்வியைப் பயன்படுத்துவதில்லை. இரண்டும் உலாவியில் இயங்கும், எதுவும் பதிவேற்றப்படாது; ஆனால் PHP முதல் JSON திசை என்பது சிறு உரை மாற்றங்களின் சங்கிலி, அதன்பின் `JSON.parse`:

1. உரையை வெட்டி, `<?php`, `?>` ஆகியவற்றை நீக்குதல்.
2. ஒவ்வொரு `array(`-ஐயும் `[` ஆக மாற்றுதல். இணையான `)` தொடப்படாது.
3. ஒவ்வொரு `=>`-ஐயும் `:` ஆக மாற்றுதல்.
4. ஒவ்வொரு ஒற்றை மேற்கோள் `'`-ஐயும் இரட்டை மேற்கோள் `"` ஆக மாற்றுதல்.
5. மூடும் `]` அல்லது `}`-க்கு முன் உள்ள காற்புள்ளிகளை நீக்குதல்.
6. JSON ஆகப் பகுத்து அச்சிடுதல்: அழகாக (2 இடைவெளி) அல்லது சுருக்கமாக.

அந்தக் குழாய் வழியே செல்லுபடியான JSON ஆக வெளிவருவது மட்டுமே மாறும்; மற்றவை "மாற்றுப் பிழை: PHP array தொடரியல் தவறானது: …" எனத் தோல்வியடையும், அதைத் தொடர்ந்து உலாவியின் JSON செய்தி வரும். தோல்விக்குப் பின் வெளியீட்டுப் பெட்டி அழிக்கப்படாது; எனவே அது முந்தைய இயக்கத்தின் முடிவையே இன்னும் காட்டக்கூடும். பெட்டியை அல்ல, சிவப்பு நிலை வரியைப் படியுங்கள்.

## எவை மாறும், எவை மாறாது

கீழுள்ள முடிவுகள் பக்கத்தை இயக்கிப் பெற்றவை.

| PHP உள்ளீடு | முடிவு |
| --- | --- |
| `['a','b','c']` | வேலை செய்யும்: `["a","b","c"]` |
| `[1, 2, 3,]` | வேலை செய்யும்: `[1,2,3]` (இறுதிக் காற்புள்ளி நீக்கப்பட்டது) |
| `[true, false, null]` | வேலை செய்யும் |
| `[[1,2],[3]]` | வேலை செய்யும் |
| `{"a":1}` (ஏற்கெனவே JSON) | வேலை செய்யும்: மாற்ற எதுவும் இல்லை |
| `['name'=>'Mei','age'=>30]` | தோல்வி: `["name":"Mei","age":30]` ஆகிறது; அது JSON அல்ல |
| `array('a','b')` | தோல்வி: `["a","b")` ஆகிறது |
| `['it\'s']` | மாறும், ஆனால் தவறாக: முடிவு `it"s` |
| `["it's"]` | தோல்வி: அபாஸ்ட்ரஃபி சமநிலையற்ற மேற்கோளாகிறது |
| `[TRUE, NULL]` | தோல்வி: PHP மாறிலிகள் எழுத்து வடிவ உணர்வற்றவை, JSON literals உணர்வுள்ளவை |
| `$x = [1];`, `return [1,2];`, `[1,2]; // note` | தோல்வி: கூற்றுகள், அரைப்புள்ளிகள், கருத்துரைகள் புரியப்படாது |
| `[1=>'a', 2=>'b']`, `[0x1F, 010]` | தோல்வி |

நடைமுறையில் PHP முதல் JSON திசை எளிய பட்டியல்களையும் JSON போலத் தோன்றும் உரையையும் மட்டுமே கையாளும். பக்கத்தின் சொந்த விளக்கமும் FAQ-உம் இதைவிட அதிகமாகக் கூறுகின்றன; துணை அணிகளுக்கு இதை நம்பாதீர்கள்.

## JSON முதல் PHP வெளியீடு

இந்தத் திசை JSON-ஐ சரியாகப் பகுத்து, பின் PHP மூலக் குறியீட்டை அச்சிடும். `{"a":1,"b":[1,2],"c":{"d":null}}`-க்குச் சரிபார்த்த வெளியீடு:

```php
[
    "a" => 1,
    "b" => [
        1,
        2
    ],
    "c" => [
        "d" => null
    ]
]
```

JSON அணிகள் பட்டியல்களாகும், JSON பொருள்கள் `"key" => value` ஆகும், `{}` என்பது `[]` ஆகும். குறுகிய தொடரியலைத் தேர்வுநீக்கினால் `array(` … `)` கிடைக்கும். `$var =` முன்னொட்டு, இறுதி அரைப்புள்ளி, இறுதிக் காற்புள்ளிகள் எதுவும் இல்லை; நீங்களே சேருங்கள். சரங்கள் PHP இரட்டை மேற்கோளில் `"` மட்டும் எஸ்கேப் செய்யப்பட்டு எழுதப்படுவதால் மூன்று ஆபத்துகள் உண்டு:

- **மாறி இடைச்செருகல்**: JSON சரம் `"cost: $price"` PHP-இல் `"cost: $price"` ஆகும்; அங்கே `$price` ஒரு மாறியின் மதிப்பால் (அல்லது வரையறுக்காத மாறி எச்சரிக்கையால்) மாற்றப்படும். `{$x}`-க்கும் அப்படியே.
- **பின்சாய்வுக்கோடுகள்**: JSON மதிப்பு `back\nslash` (உண்மையான பின்சாய்வுக்கோடு பின் n; JSON-இல் `"back\\nslash"` என எழுதப்படும்) `"back\nslash"` என அச்சாகும்; PHP அதைப் புதிய வரியாகப் படிக்கும். மூல வரி முறிவுகள் அப்படியே நகலாகும், அது சரி.
- **விசைகள்** மேற்கோளிடப்படும் ஆனால் எஸ்கேப் செய்யப்படாது; எனவே `"` உள்ள விசை செல்லாத PHP-ஐ உருவாக்கும்.

எண்கள் JavaScript வடிவத்தைப் பயன்படுத்தும்: `1.0` என்பது `1` (int, float அல்ல), `1e21` என்பது `1e+21`, `12345678901234567890` என்பது `12345678901234567000`. var_export தேர்வுப்பெட்டி எதையும் மாற்றாது. உண்மையான `var_export` ஒற்றை மேற்கோள் சரங்கள், இடைவெளியுடன் `array (`, பட்டியல்களுக்கு வெளிப்படையான விசைகள் (`0 => 1,`), பெரிய எழுத்து `NULL`, இறுதிக் காற்புள்ளிகள் ஆகியவற்றை அச்சிடும்.

## தெரிந்துகொள்ள வேண்டிய PHP பக்க விதிகள்

PHP 8.3-இல் சரிபார்த்தவை:

| PHP | JSON |
| --- | --- |
| `[1,2,3]` | `[1,2,3]` |
| `['a'=>1]` | `{"a":1}` |
| `[1=>'a',2=>'b']` | `{"1":"a","2":"b"}` (விசைகள் 0..n-1 அல்ல) |
| `[0=>'a',1=>'b']` | `["a","b"]` (தொடர் விசைகள் பட்டியலாக்கும்) |
| `[]` | `[]` (வெற்று அணி ஒருபோதும் `{}` அல்ல; அதற்கு `new stdClass`) |
| `1.0` | `1`, அல்லது `JSON_PRESERVE_ZERO_FRACTION` உடன் `1.0` |
| `"a/b é"` | இயல்பாக `"a\/b é"`; `JSON_UNESCAPED_SLASHES \| JSON_UNESCAPED_UNICODE` உடன் `"a/b é"` |

`json_decode($json, true)` துணை அணிகளைத் தரும்; `true` இல்லாமல் `stdClass` பொருள்களைத் தரும். `{"1":"a","2":"b"}` முழு எண் விசைகள் 1, 2 கொண்ட அணியாகும்; `12345678901234567890` போன்ற `PHP_INT_MAX`-ஐ மீறிய JSON முழு எண் float ஆகும். இறுதிக் காற்புள்ளி `json_decode`-ஐ "Syntax error" பிழையுடன் `NULL` திருப்பச் செய்யும்.

> **குறிப்பு:** நீங்கள் commit செய்யவோ இயக்கவோ போகும் எதற்கும், PHP-யிலேயே `var_export($data, true)` மூலம் PHP மூலக் குறியீட்டையும், `json_encode` மூலம் JSON-ஐயும் உருவாக்குங்கள். விரைவான பட்டியல்களுக்கும் கட்டமைப்பைப் பார்ப்பதற்கும் இந்தப் பக்கத்தைப் பயன்படுத்துங்கள்.

## பொதுவான தவறுகள்

- `array('key' => 'value')` அல்லது `['key' => 'value']` ஒட்டி, பிழையைக் கண்டு வியப்பது.
- பிழைக்குப் பின் வெளியீட்டுப் பெட்டியை நம்புவது; அது முந்தைய மாற்றத்தினதாக இருக்கலாம்.
- `$` அல்லது பின்சாய்வுக்கோடு உள்ள சரங்களைச் சோதிக்காமல், JSON முதல் PHP வெளியீட்டைக் குறியீட்டில் ஒட்டுவது.
- `1.0`, அல்லது `[]`/`{}` வேறுபாடு சுற்றிவந்தபின்னும் நிலைக்கும் என எதிர்பார்ப்பது.

## தொடர்புடைய கருவிகள்

JSON-ஐச் சரிபார்க்க அல்லது மறுவடிவமைக்க [JSON சரிபார்ப்பி](https://toolsg.com/ta/json-validator), [JSON வடிவமைப்பி](https://toolsg.com/ta/json-formatter) அல்லது [JSON பார்வையாளர்](https://toolsg.com/ta/json-viewer); பாதைகளாகத் தட்டையாக்க [JSON முதல் உரை](https://toolsg.com/ta/json-to-text).

## அடிக்கடி கேட்கப்படும் கேள்விகள்

**PHP array-ஐ JSON ஆக எப்படி மாற்றுவது?**

"PHP Array to JSON" முறையைத் தேர்ந்தெடுத்து, [] அல்லது array() தொடரியலில் உள்ள PHP array குறியீட்டை ஒட்டுங்கள். JSON வடிவை (அழகாக வடிவமைத்தது அல்லது சுருக்கமானது) தேர்ந்தெடுத்து மாற்று என்பதை அழுத்துங்கள். கருவி உடனடியாகச் சரியான JSON ஆக மாற்றும்.

**JSON-ஐ மீண்டும் PHP array ஆக மாற்ற முடியுமா?**

முடியும். "JSON to PHP Array" முறையைத் தேர்ந்தெடுத்து JSON தரவை ஒட்டுங்கள். விரும்பிய PHP தொடரியலைத் தேர்ந்தெடுத்து மாற்று என்பதை அழுத்துங்கள். இருதிசை மாற்றமும் ஆதரிக்கப்படுகிறது.

**சுருக்கமான மற்றும் பாரம்பரிய PHP array தொடரியலுக்கு என்ன வேறுபாடு?**

சுருக்கத் தொடரியல் [] அடைப்புக்குறிகளைப் பயன்படுத்தி PHP 5.4 முதல் கிடைக்கிறது; பாரம்பரியத் தொடரியல் array() என்பதைக் கொண்டது. எடுத்துக்காட்டு: ["a" => 1] மற்றும் array("a" => 1). இரண்டும் ஒரே விதமாக இயங்கும்; சுருக்கமானது நவீன PHP-யில் பரவலாகப் பயன்படுத்தப்படுகிறது.

**உள்ளமைந்த arrays-ஐ கருவி கையாளுமா?**

ஆம். எந்த ஆழத்திலும் உள்ளமைந்த arrays மற்றும் objects-ஐ முழுமையாக ஆதரிக்கிறது; சிக்கலான பல அடுக்கு தரவுக் கட்டமைப்புகளையும் சரியாகக் கையாளும்.

**மாற்றும்போது தரவு வகைகள் பாதுகாக்கப்படுமா?**

ஆம். சரங்கள், எண்கள், பூலியன் (true/false) மற்றும் null மதிப்புகள் காக்கப்படும். தொடர்புடைய வரிசைகள் JSON பொருள்களாகவும் எண் குறியீட்டிலான வரிசைகள் JSON வரிசைகளாகவும் மாறும்.

**எனது தரவு சேவையகத்துக்கு அனுப்பப்படுமா?**

இல்லை. மாற்றங்கள் அனைத்தும் உங்கள் உலாவியில் நடக்கும். தரவு சாதனத்தை விட்டு வெளியேறாது; எனவே API விசைகள் மற்றும் அமைப்புத் தகவல் போன்ற முக்கியத் தரவுகளுக்கும் பாதுகாப்பானது.

**var_export வடிவம் என்றால் என்ன?**

var_export என்பது மாறியின் பகுப்பாய்வு செய்யக்கூடிய சர வடிவத்தை வெளியிடும் PHP செயல்பாடு. இந்த விருப்பம் var_export() உருவாக்கும் அதே பாணியில் PHP குறியீட்டை உருவாக்குகிறது; குறியீடு உருவாக்கத்துக்கும் பிழைதிருத்தத்துக்கும் உதவும்.

**பெரிய JSON அல்லது PHP arrays-ஐ பயன்படுத்தலாமா?**

ஆம். பெரிய தரவுக் கட்டமைப்புகளையும் கருவி கையாளும். இருப்பினும் பல மெகாபைட் அளவுள்ள கோப்புகள் உங்கள் உலாவி மற்றும் சாதனத்தின் வேகத்தைப் பொறுத்து செயலாக்க அதிக நேரம் எடுக்கலாம்.

**எனது PHP array அல்லது JSON தவறாக இருந்தால் என்ன நடக்கும்?**

உள்ளீட்டைச் சரிபார்த்து, என்ன தவறு ஏற்பட்டது என்பதைக் குறிப்பிட்ட பிழைச் செய்தியைக் கருவி காட்டும். இதனால் தொடரியல் பிழையை விரைவாகக் கண்டறிந்து சரிசெய்யலாம்.

**மாற்றிய வெளியீட்டை பதிவிறக்கலாமா?**

ஆம். JSON வெளியீட்டை .json கோப்பாகவும் PHP array வெளியீட்டை .php கோப்பாகவும் சேமிக்க பதிவிறக்கு பொத்தானைப் பயன்படுத்துங்கள்.

**PHP மற்றும் JSON இடையே ஏன் மாற்ற வேண்டும்?**

API பதில்களை PHP பயன்பாடுகளில் பயன்படுத்துதல், JSON சோதனைத் தரவிலிருந்து PHP தரவை உருவாக்குதல், அமைப்புக் கோப்புகள் உருவாக்குதல், அமைப்புகளுக்கிடையே தரவு இடமாற்றம் மற்றும் ஆவண எடுத்துக்காட்டுகள் ஆகியவை பொதுவான பயன்பாடுகள்.

**அழகாக வடிவமைத்த JSON தரவை மாற்றுமா?**

இல்லை. வாசிக்க எளிதாக்க இடைவெளிகளையும் வரி முறிவுகளையும் மட்டுமே சேர்க்கும். தரவுக் கட்டமைப்பும் மதிப்புகளும் சுருக்கமான JSON-இல் இருப்பதுபோலவே இருக்கும்; மாறுவது கோப்பு அளவும் வாசிப்புத் தெளிவும் மட்டுமே.


## ஆதாரங்கள்

- [PHP manual — json_encode](https://www.php.net/manual/en/function.json-encode.php) — Lists versus objects, escaping flags, float handling.
- [PHP manual — json_decode](https://www.php.net/manual/en/function.json-decode.php) — Objects as stdClass or associative arrays, big integers.
- [PHP manual — var_export](https://www.php.net/manual/en/function.var-export.php) — The real output format of var_export.
- [PHP manual — Strings](https://www.php.net/manual/en/language.types.string.php) — Variable interpolation and escape sequences in double-quoted strings.
- [IETF — RFC 8259, The JSON Data Interchange Format](https://www.rfc-editor.org/rfc/rfc8259.html)
